让我们考虑一下这种情况:我们是一个由4名开发人员组成的团队。我们正在开展一个已经存在的项目,我们需要创建新功能。 对于新功能,没问题。我们必须选择谁将在它上面工作,并且在拉取更新后它将顺利完成,因为它将成为所有开发人员的新文件。
但我们其中一个人可以说程序员1只会处理已经存在的代码中的一些问题。这意味着他将改变他的本地git而不是推送到中央存储库。
好的,我们可以说程序员1整天花了大约50个文件做了100次小改动。他添加,承诺并推送到中央存储库。之后,程序员-2将完成所有更改,但他可能会有这样的消息:
On branch master
You have unmerged paths.
...
...
因此程序员-2需要花费大量时间来传递所有50个文件并选择程序员1的更改。与程序员3和4相同。
那么,有没有办法设置git接受拉过程中的所有更改,而不要求我们决定应该保留哪些更改?我们每次都会接受程序员1的更改。
我发现了这个post,但它没有正确解决问题。
答案 0 :(得分:1)
如前所述,如果没有冲突,Git将实际处理大多数合并案件。唯一不会这样做的是,如果存在不知道如何解决的冲突。
这似乎不一定是Git问题,而是一个过程问题。似乎开发人员正在对代码库进行彻底的更改,这应该更清楚地传达给每个人,以了解其影响。要么那么,要么缩小这些变化的范围,因为它会对你的工作产生不利影响。
但是,如果您确定您将始终接受他们的更改,那么您可以查看合并他们的工作并接受他们的工作......
git fetch
git merge origin/branch --theirs
...或者你可以改变他们的工作(在这种情况下我们的):
git fetch
git rebase --ours origin/branch
有关更多背景信息,请查看git-checkout周围的文档。