git pull with partial merge

时间:2013-02-27 06:08:30

标签: git

我的存储库foo1.c,foo2.c,... foo20.c中有20个文件我在foo2.c上工作

现在每当我做一个git pull它会拉入并合并所有foo * .c的变化,包括foo2.c 我想阻止自动合并在我的存储库中修改的文件。

例如,有人可能在文件中的某个位置添加了x = 20,这会覆盖文件顶部的x = 0修改。

将Bob的更改与我的更改自动合并可能导致难以检测到错误,如果其中一个错误有可能随机重启火星漫游者,我宁愿在合并之前手动审核每个更改。< / p>

所以在这个背景下我想知道是否有一种方法可以拉取(获取+合并)我的仓库中未修改的文件,只获取影响我正在修改的文件的更改,这样我就可以手动差异+合并

3 个答案:

答案 0 :(得分:1)

您可以在.gitattributes文件中指定您希望您的foo2.c版本是合并期间考虑的版本:

foo2.c merge=ours

(来自gitattributes page。您需要activate that driver though

答案 1 :(得分:1)

  1. 不要使用全局变量。
  2. 使用代码审核而不是这样做..
  3. 或者在最坏的情况下,你可以做一个git diff并看看bob发生了什么变化......

答案 2 :(得分:1)

在本地分支上工作,只有进入官方分支机构,在准备好时在相应的官方(已发布)分支上合并/重新定义您的更改,将结果推送到上游。没有“鲍勃的变化合并到爱丽丝中途完成的工作搞砸了所有事情,而来自QA的查理吹响了垫片”。