git三:分支

一、本地分支

假如正在开发一个新功能,开发到一半的时侯,需要开发另一个新功能。

第一个功能的代码,如果立即提交,代码会存在bug;如果不提交,代码存在丢失的风险。

怎么解决?代码还是提交,但又要不影响别人?

解决:两个功能都分别,创建自己的分支,不合并master。

通常也必须如此,须经过测试没问题的分支才可以提交master。

 

查看所有本地分支: git branch  ,其中带*的分支是当前分支

查看所有本地和远程分支: git branch -a

创建分支:git branch 分支名称    ,从当前分支的基础上创建新分支

切换分支: git checkout 分支名称

创建并切换分支: git checkout -b 分支名称     ,从当前分支的基础上创建新分支

删除分支: git branch -D 分支名称

二、合并本地分支

将dev分支的内容合并到master分支:

1.切换到master分支: git checkout master

2.将dev合并到master: git merge dev

 

三、推送到远程分支

从本地master分支提交到远程master分支,不推荐提交到远程的master分支:

1.切换到master分支: git checkout master

2.将master提交到远程master:git push origin

 

从本地dev分支提交到远程的dev分支:

1.切换到dev分支: git checkout dev

2.将dev提交到远程dev:git push origin dev 

如果远程没有dev分支,则会自动创建远程dev分支;如果存在,则推送到远程dev

  或者使用: git push --set-upstream origin dev  创建远程dev分支,并推送到远程dev分支

3.再次推送时,也可以省略远程分支名称: git push origin

 

四、拉取远程其它分支

1.本地创建新分支: git checkout -b new

2.拉取远程分支new: git pull origin new 

  再次拉取时,可以省略远程分支名称: git pull origin

其它:

创建本地dev分支并创建远程dev分支:  git checkout -b dev origin/dev

 

五、删除远程分支:

1.推送一个空分支到远程分支,即删除:  git  push origin :远程分支名称

2.或者使用delete参数删除远程分支: git push --delete 远程分支名称

 

五、使用":"指定完整远程和本地分支名称,拉取和推送远程分支

 

六、查看分支合并图 :  git log --graph

 

七、tag:标签

发布一个版本时,通常先在版本库中打一个标签tag。这样,就唯 一确定了打标签时刻的版本。

将来无论什么时侯,取某个标签的版本,就是把那个打标签时刻的历史版本取出来。

所以,标签也是版本的一个快照。

打标签:git tag 标签名称

查看所有标签: git tag

指定某次commit打标签: git tag 标签名称  commitID

指定标签信息: git tag -a 标签名称 -m “标签信息”

切换到指定标签: git checkout 标签名称

查看标签的说明文字:git show 标签名称

删除标签: git tag -d 标签名称

推送标签到远程: git push origin 标签名称

一次性推送所有尚未推送的本地标签到远程: git push origin --tags

删除已经推送到远程的标签:先删除本地标签---git tag -d 标签名称;再删除远程删除--- git push origin :refs/tags/标签名称

 

posted on 2018-08-12 11:24  myworldworld  阅读(85)  评论(0)    收藏  举报

导航