在合并分支时,git通常会使用Fast Forward模式。在这种模式下,删除分支就会导致分支的信息丢失,看不出来做过合并。但是如果强制禁用Fast Forward模式,git在merge时会生成一个新的commit。
首先创建并且切换到一个分支:manager
git checkout -b manager
修改readme.txt文件
echo 管理分支 >> readme.txt
git add readme.txt
git commit -m ‘管理分支’
回到master分支进行不使用fast forward模式合并。
对于merge使用--no-ff参数禁用fast forward。
-m: 因为不使用fast forward会生成新的提交,所以这个-m表示提交的注释
git checkout master
git merge --no-ff -m '不使用fast forward合并' manager
查看日志
git log --graph --pretty=oneline --abbrev-commit
在分支之上生成了一个新的提交,而分支却又保留了。
如下图
在开发中,master分支应该用于发布新版本,而不要在上面进行开发,仅用来合并。
开发都应该在dev分支上,当发布某个版本的时候,再将dev合并到master上,发布版本。
git的分支管理很强大。团队开发类似于这张图: