Git学习笔记(四)分支的创建

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]

你可能感兴趣的:(Git学习笔记(四)分支的创建)