Git: 如何在没有重复 PR 合并提交的情况下同步我的本地和上游存储库?

Git: How do I sync my local and upstream repositories without duplicate PR merge commits?

我需要将我自己的拉取请求功能分支合并到我本地存储库的主分支上。但是,如果上游维护者合并了我的拉取请求,我将不得不拉入另一个合并提交。 Git 没有意识到我之前已经合并了同一个分支,所以我对同一个分支有 2 个合并提交。

你们如何在不重复合并提交的情况下同步本地和上游存储库?

如果我没理解错的话,你的状态大概是这样的:

(黑色 = 上游,蓝色 = 特性,绿色 = 主控)

因此,当您将上游合并到 master 时,您会得到:

您需要一个本地集成分支 和一个上游同步分支。 您使用本地集成分支来合并您的功能(您现在在 master 中正在做的事情)。 并且您使用 upstream 来跟踪上游合并。

当你提交 PR 并被上游接受时,你会在你的 upstream 分支中收到它作为合并,而你的本地集成分支(master 在这种情况下)是 feature分支合并

之后您可以在 master 中安全地合并 upstream,并在 master 中获得一个合并。或者如果你真的不想合并,你可以使用 rebase.