0

当我创建一个新分支时,Master 最近的提交是 A。

在我创建了一个新分支之后,对 Master 进行了一些更改,所以现在 master 上的最新提交是 B。

我对我的分支做了一些提交,我 fork 上的最新提交是 C。

现在我将分支硬重置为“A”并使用“git fetch --all”获取所有更改。

当我执行“git rebase upstream/master”时,它显示出一些冲突?为什么会这样??

4

1 回答 1

0

您已在两个流中修改了同一行。git 不可能知道你想做什么。无论您是变基还是合并,都是如此。使用 rebase,您正在重放更改,但更改所期望的文档的原始部分不匹配。Git 不会随意这样做。但是,如果这是您的意图,您可以选择合并策略并使用“我们的”来始终覆盖不匹配。然而,这不是默认行为。

如果您认为更改是微不足道的,例如空格或大括号的位置,使用像 Beyond Compare 3 这样的语法感知合并工具将帮助您快速解决冲突。

如果您计划继续根据后续的中心更改重新调整这项工作,请启用 rerere 并且它是自动更新的。这将确保以相同的方式自动为您解决相同的冲突。

于 2012-12-27T22:24:12.920 回答