Git分支的操作
分支的创建及使用
分支的简介
分支创建可以理解为复制一份主干程序,使得我们可以在复制版本上进行操作从而不影响主干程序的开发。git分支的创建使用了一种轻量级的创建方式,其本质是通过创建指针,指向上一个提交对象,这种方式可以免去对主干程序的复制操作,直接将分支的指针指向当前版本的主干程序即可。
分支的创建
$ git branch [name]
创建完后可以通过log
命令中的--decorate
参数查看,其中HEAD
指向的是当前的分支,HEAD
并不会指向刚创建的分支,需要进行分支的切换。
$ git log --oneline --decorate
cb54552 (HEAD -> master, testing)
分支切换
$ git checkout [name]
cb54552 (HEAD -> testing, master)
可以看到这样就切换到了testing分支上
-b
选项可以一步完成分支的创建和切换
$ git checkout -b [name]
注意:切换分支会将文件还原到该分支的状态,如在testing分支中修改了文件并提交,在master中的文件不会改变。
合并分支
如果项目遇到紧急问题需要修复,那么正确的操作步骤为:首先创建一个主干程序的分支,修改bug,提交,然后切换回主干合并分支。
$ git checkout -b hotfix
$ git commit -a -m
$ git checkout master
$ git merge hotfix
如果两个分支没有冲突,那么master
的指针会直接移到刚刚修改的分支上,会出现一个Fast-Forward
标记。
$ git merge hotfix
Updating 343849b..e2114d6
Fast-forward
11.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
合并之后应该删除刚刚创建的分支
$ git branch -d hotfix
如果有冲突git会告诉你冲突的文件是什么,然后需要手动修改冲突文件,再提交
分支的删除
已和并的分支可以通过-d
选项进行删除
$ git branch -d [name]
未合并的分支则需要用-D
来强制删除
$ git branch -D [name]
网友评论