让我们考虑一下这个场景:我们是一个由4名开发人员组成的团队。我们正在一个已经存在的项目中工作,我们需要创建新的特性。对于新功能来说,没问题。我们必须选择谁将工作,并在拉更新后,它将顺利完成,因为它将是所有开发人员的新文件。
但是我们中的一个让我们说程序员-1,将只处理代码中已经存在的一些问题。因此,这意味着他将修改他的本地git,而不是推到中央存储库。
好的,让我们说程序员-1花了一整天的时间,并在50个文件周围做了100个小改动。他补充说,承诺并推到中央存储库。在此之后,程序员-2将提取所有的更改,但他可能会收到如下消息:
On branch master
You have unmerged paths.
...
...因此,程序员-2需要花费大量的时间通过所有50个文件,并选择程序员-1的变化。同样的程序员-3和4。
那么,是否有一种方法可以设置git来接受拉动过程中的所有更改,而不要求我们决定应该保持哪些更改呢?我们将接受程序员-1每次更改。
我找到了这个帖子,但它没有正确地解决这个问题。
发布于 2015-09-17 15:30:39
如前所述,如果不存在冲突,Git将实际处理大多数合并案例。唯一的时候,它不会这样做,如果有冲突,它不知道如何解决。
这看起来不一定是Git问题,而是更多的过程问题。看起来,开发人员正在对代码库进行全面的更改,这应该更清楚地传达给每个人这会产生什么影响。或者,或者这些更改的范围需要缩小,因为它正在对您的工作产生负面影响。
但是,如果您确信始终会接受他们的更改,那么您可以考虑合并他们的工作并接受他们的工作.
git fetch
git merge origin/branch --theirs...or您可以将他们的工作与您的(在这种情况下是我们的工作)进行重新定位:
git fetch
git rebase --ours origin/branch有关更多上下文,请查看有关git-结帐的文档。
https://stackoverflow.com/questions/32633737
复制相似问题