Git push 时如何避免出现 "Merge branch 'master' of ..."
在使用 Git 的进行代码版本控制的时候,往往会发现在 log 中出现 "Merge branch 'master' of ..." 这句话,如下图所示。日志中记录的一般为开发过程中对代码的改动信息,如果出现过多例如上述描述的信息会造成日志的污染。 阅读了一些外文的博客,下面就来一探究竟。 产生原因分析 当多人合作开发一个项目时,本地仓库落后于远程仓库是一个非常正常的事情,可参考下图。 A-B-C(master) \ D(origin/master) 具体情境如下: 我当前拉取的远端版本为 B ,此时修改了代码,并在本地仓库 commit 一次,但并未 push 到远端仓库。 另一位开发者在 B 的基础上,同样 commit 了一次并 push 到远端仓库。那么这个时候,我再 push 自己的代码就会发生错误,如下。 To github.com:maoqyhz/usegit.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@github.com:maoqyhz/usegit.git' hint: Updates were rejected because the remote contains work that you do hint: not have