分支
分支管理是Git最强大的功能之一,简单的来讲,就是每个人创建一个只属于自己的分支,别人无法看到,每个人在自己的分支上进行工作,可以任意提交,不用担心影响别人的工作。直到开发完毕,再一次性合并到master分支上。
分支,实际上就是一个记录你提交事件的时间线。一个Git版本库自动创建唯一一个master主分支,一般master分支都指向最新的提交,并用指针HEAD指向它,表示当前分支是master主分支。我们可以创建多个分支,当我们转向其他分支时,指针HEAD就会指向当前的分支。我们就可以在该分支上进行开发,开发完毕后,通过合并命令,把该分支的提交合并到master上,然后就可以删除该分支,这样master分支依然指向最新的提交。
可以看出,对分支的操作,只是对指针的操作,而工作区的文件不受影响,所以十分高效。
Git鼓励大家多使用分支,这样在分支上进行开发工作,当完成后再合并到master上,然后将分支删除掉,这样更加安全,效率和在master上开发一样。
分支管理
git branch 查看分支
git branch name 创建name分支
git checkout name 切换到name分支
git checkout -b name 创建并切换到name分支
git merge name 合并name分支到当前分支
git branch -d name 删除name分支
冲突管理
首先解决冲突,然后再重新提交,最后将分支删除。
也就是说,在平时的开发管理中,master分支仅仅用来提交新版本,不在上面进行开发工作。开发工作通过新建分支来进行,他们上的提交都往master上进行合并,最后,通过master分支提交。
为了看到每次合并的记录可以使用带参数的merge命令,来禁用默认的Fast forward模式
git merge --no-ff -m "merge with no-ff" branchname
该命令强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。