我和同事目前都在主分支上工作。我的工作树中有一些代码,我不想提交(例如调试语句等)。现在,如果他对这些相同的文件进行更改并提交,我将无法合并它们:
$ git merge origin/master
Updating 1b8c5c6..eb44c23
error: Entry 'blah.java' not uptodate. Cannot merge.
作为一名Subversion背景下的开发者,我习惯于在从代码库拉取更改时,我的工作树会被自动合并,如有冲突则需要手动解决。
我在Git中发现最快捷的方式是:
$ git stash
$ git merge origin/master
$ git stash pop
本质上是移除我的未提交更改,进行合并,然后重新应用更改。 我如何告诉合并命令自动将我的工作树与我正在尝试拉取的更改合并?
MERGE_HEAD
会被清除,这导致只有最后一次合并被记录。为了让合并修订版保留所有父级,您必须在运行git stash
之前设置一个.git/MERGE_HEAD
的副本。然后,在最终提交之前,您必须将所有的MERGE_HEAD
组合在一起(每行一个SHA)。 - Keith Masongit fetch origin master
。 - Walter Nissen