2

我正在尝试为一个项目做出贡献,我想在我的工作上使用 git-flow 工作流(?)。说,我已经签出develop了远程存储库(github)的分支,并且我已经设置了 2 个功能分支(T 代表翻译,U 代表更新):

---o---o---o (D)
           |---Ta---Tb (T)
           \---Ua---Ub---Uc (U)

现在,对于每个分支,都会向存储库维护者发出拉取请求upstream,他接受所有分支并将它们合并到upstream/develop分支中。

什么是正确的程序,所以我最终得到:

---o---o---Ta---Tb---Ua---Ub---Uc (D)
                               |- (T)
                               \- (U)

有些东西告诉我,这git rebase就是我所需要的。(请注意我在 Windows 上)。

4

1 回答 1

5

你说的对。您(或存储库维护者)需要将您的更改重新定位到您的开发分支:

git checkout develop
git rebase T
git rebase U

在 rebase 期间,如果发生冲突,您可能需要解决它们。

您的最后一个分支图显示 T 和 U 将 Uc 作为其父级。变基不会更改分支父级。你可以通过删除你的分支并在上面的变基之后重新创建它们来做到这一点。

git branch -D T
git branch -D U

您需要使用大写 -D 开关来强制删除分支,因为 T 和 U 分支从未合并到开发分支中,因此 git 不知道分支更改反映在develop分支中。

之后,您可以重新创建它们:

git checkout -b T

git checkout develop
git checkout -b U
于 2011-06-13T15:52:49.020 回答