2013-02-27 94 views
2

我在我的仓库foo1.c,foo2.c 20个文件,... foo20.c我对foo2.c混帐拉带部分合并

工作现在,每当我做一个混帐拉中拉并将更改合并到所有foo * .c中,包括foo2.c 我想阻止自动合并在存储库中修改的文件。

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

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

所以在这个背景下,我想知道是否有一种方法可以让我拉取(取+合并)在我的回购库中未修改的文件,并只提取影响我修改的文件的更改以便我可以做手工DIFF +合并

+0

找到答案http://stackoverflow.com/questions/3122056/how-to-get-3-way-merge-in-git-on-non-conflict-merges – vijayvithal 2013-02-27 07:46:33

回答

1
  1. 不使用全局变量。
  2. 使用代码审查,而不是做这个..
  3. 或在最坏的情况下,你可以做一个git的差异,看看鲍勃已经改变...
+0

我同意#1 对#2 最初的问题是启用增量代码审查。对于我的团队来说,git pull可以将更改为100个文件,并且某些文件合并的通知可能会在“噪音”中丢失,因此我正在寻找一种方法,以便在本地更改文件时始终强制冲突并且在服务器上。 例如我当前的版本控制系统给出了一个错误消息“合并所需:文件已在本地和服务器上进行了更改”,并将其留给用户进行diff +合并并提取剩余的更改。 我不明白#3请你详细说明。 – vijayvithal 2013-02-27 07:38:04

+0

在当地的分支机构工作,只有在准备好时才会推。有一个看门人把爱丽丝,鲍勃和查理的成书分支整合到官方出版的分支中。冲洗并重复。 – vonbrand 2013-02-27 20:07:36

1

做的工作在当地的分支机构,只拉入官方分支机构,在准备好时将相应官方(已发布)分支机构的更改合并/重新整理,并将结果推向上游。没有“鲍勃的变化融入了爱丽丝的半路完成工作,把所有事情搞砸了,查理从QA吹了一个垫片”。

+1

我同意,你的回答比我的好(这是关于避免合并,而不考虑更大的图片)。所以,+1。 – VonC 2013-02-27 19:48:49

+0

我会回报你的好感,但我根本不同意你的想法,所以...... – vonbrand 2013-02-27 19:57:12