2

我的存储库中有 20 个文件 foo1.c,foo2.c,...foo20.c 我正在处理 foo2.c

现在,每当我执行 git pull 时,它都会拉入并合并对所有 foo*.c 的更改,包括 foo2.c 我想防止自动合并在我的存储库中修改的文件。

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

将 Bob 的更改与我的更改自动合并可能会导致难以检测到错误,如果其中一个错误有可能随机重启火星探测器,我希望在合并之前手动检查每个更改。

因此,在这种背景下,我想知道是否有办法让我提取(提取+合并)在我的仓库中未修改的文件,并且只提取影响我正在修改的文件的更改,以便我可以进行手动差异+合并

4

3 回答 3

1
  1. 不要使用全局变量。
  2. 使用代码审查而不是这样做..
  3. 或者在最坏的情况下,您可以执行 git diff 并查看 bob 发生了什么变化......
于 2013-02-27T06:41:30.773 回答
1

在本地分支上工作,仅拉入官方分支,准备好后在相应的官方(已发布)分支上合并/重新调整您的更改,将结果推送到上游。没有“Bob 的更改合并到 Alice 完成一半的工作中,一切都搞砸了,QA 的 Charlie 搞砸了”。

于 2013-02-27T19:33:07.557 回答
1

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

foo2.c merge=ours

(来自gitattributes 页面。不过,您需要激活该驱动程序

于 2013-02-27T06:22:02.937 回答