分支概念
当前我们所在的分支是master(主分支),可以通过创建分支:
git branch <branch_name>
创建完成后,可以查看当前的分支状态:
git branch
当前的分支前面带*号。还可以切换到其它分支:
git checkout <branch_name>
创建分支加上切换到该分支:
git checkout -b <branch_name>
合并某分支修改的内容到当前的分支:
git merge <branch_name>
确认无误后,可以删除分支:
git branch -d <branch_name>
综合以上,可以知道分支的作用是可以为多人合作提供渠道。例如,做一个项目,主线是master分支。在主线的基础上可以分散出多个分支,由个人同时编写。
合并冲突
有时候分支合并会产生冲突,例如:在一个分支fb上修改了一个文件,并添加和提交,再切换回主分支,并且修改相同的文件。然后再使用git merge fb合并分支。这时候可以看到分支产生冲突,然后选择你需要的修改。
查看分支合并图的命令:
git log --graph
合并分支默认的模式是Fast forward模式,这样可能会导致丢失分支信息。可以采用以下命令实现禁用Fast forward分支的合并模式。
git merge --no-ff -m "merge with no-ff" <待合并的分支>