④ git push origin 将合并后的主分支同步到远程仓库
3. 分支结构(1)采用no-ff模式
执行命令: git log --graph --pretty=oneline --abbrev-commit 查看分支图形结构,如下:
① bob在dev的本地分支上修改文件,并提交到远程仓库。
② lilei本地拉取最新文件,并采用 no-ff方式进行合并(新创建一个提交,从而是dev分支的HEAD指针指向新提交)
③ lilei修改文件,并提交到远程仓库。bob直接pull拉取,默认采用Fast-Forward模式。
④ bob将dev合并到master分支,执行命令 git merge --no-ff -m 'merge with no-ff' dev。
在github上查看最后一次提交,其中本次提交有2个parent(4f368cc和5b53028),与上图对应,如下:
(2)采用Fast Forward模式
① 第一种模式最后一次提交。
② bob将修改提交远程仓库。lilei从远程仓库直接pull拉取合并,采用Fast Forward方式,没有产生新的提交。
③ lilei将修改提交远程仓库。bob拉取远程仓库后合并(fetch+merge),采用Fast Forward模式,没产生新的提交。
④ 切换到master分支,执行 git merge dev 合并。
4. 合并冲突解决遇到冲突时,Git已经做了合并,但是没有自动地创建一个新的合并提交。 Git会暂停下来,等待你去解决合并产生的冲突,然后再对冲突的文件执行提交(add、commit、push)即可。
具体做法参考:Git 分支 - 分支的新建与合并