pet*_*ris 2 git git-rebase git-remote git-branch
我正在努力为一个项目做贡献,我想在我的工作中使用git-flow工作流程(?).说,我已经检查了develop远程存储库(github)的分支,并且我已经设置了2个功能分支(T代表翻译,U代表更新):
---o---o---o (D)
|---Ta---Tb (T)
\---Ua---Ub---Uc (U)
Run Code Online (Sandbox Code Playgroud)
现在,对于每个分支,向upstream存储库维护者发出拉取请求,并且他接受所有这些请求并将它们合并到upstream/develop分支.
什么是正确的程序,以便我最终得到:
---o---o---Ta---Tb---Ua---Ub---Uc (D)
|- (T)
\- (U)
Run Code Online (Sandbox Code Playgroud)
有些东西告诉我这git rebase就是我需要的东西.(请注意我在Windows上).
你是对的.您(或存储库维护者)需要将您的更改重新绑定到您的开发分支:
git checkout develop
git rebase T
git rebase U
Run Code Online (Sandbox Code Playgroud)
在rebase期间,如果发生冲突,您可能需要解决冲突.
你的最后一个分支图显示T和U有Uc作为他们的父.rebase不会改变分支父母.您可以通过删除分支并在上面的重新定位后重新创建它们来执行此操作.
git branch -D T
git branch -D U
Run Code Online (Sandbox Code Playgroud)
您需要使用大写-D开关来强制删除分支,因为T和U分支从未合并到开发分支中,因此git不知道分支更改会反映在develop分支中.
之后,您可以重新创建它们:
git checkout -b T
git checkout develop
git checkout -b U
Run Code Online (Sandbox Code Playgroud)