我正在尝试为项目做贡献,我想在我的工作中使用git-flow工作流程(?)。
说,我已经检查了远程存储库(github)的develop
分支,并且我已经设置了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上)。
答案 0 :(得分:5)
你是对的。您(或存储库维护者)需要将您的更改重新绑定到您的开发分支:
git checkout develop
git rebase T
git rebase U
在rebase期间,如果发生冲突,您可能需要解决冲突。
您的最后一个分支图显示T和U将Uc作为其父级。 rebase不会改变分支父母。您可以通过删除分支并在上面的变基之后重新创建它们来完成此操作。
git branch -D T
git branch -D U
你需要使用大写-D开关强制删除分支,因为T和U分支从未合并到develop分支中,所以git不知道分支变化会反映在{{1分支。
之后,您可以重新创建它们:
develop