避免在Git中使用合并提交

4

在我拉取代码之前,我的本地仓库是这样的:

[my commit 3] <- to be pushed
[my commit 2] <- already pushed
[my commit 1]

因为存在冲突,所以我进行了拉取并执行了合并操作,随后在本地提交了修改:

[merge commit] <- created that by resolving conflicts
[new commit from coworker] <- pulled that
[my commit 3]
[my commit 2]
[my commit 1]

现在我的问题是如何摆脱顶部的合并提交。我认为它应该看起来像这样:
[my commit 3]
[new commit from coworker] 
[my commit 2]
[my commit 1]

我该如何进行类似的变基操作?

1个回答

8

不要使用git pull,而要使用git pull --rebase

(你可以使用git reset --hard [我的提交 3]回到更新前的状态,然后执行git pull --rebase。)


这个方法很好,但是难道没有其他办法可以手动完成吗?我尝试过变基,但似乎只能变基自己的提交? - atamanroman
你需要将你的提交与同事的更改进行rebase。例如,运行git fetch,然后使用git rebase [同事的新提交]将你的提交放在他们的上面。 - Amber

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接