我有一个master
分支和一个es
分支。 es
已经在本地重构:如何重建Git分支?
git checkout master
git checkout -b es2
git cherry-pick A C E D
git branch -D es
git checkout master
git branch -m es2 es
其中A,C,d和E是在es
分支某些选定的提交。
这之后,我不得不强制推:
git push --all -f
从开始到这一点,没有人推或回购拉动。
但一切都很顺利。当我试图在另一台计算机上重新分支分支时出现问题。此用户有此分支结构:
master - es - dev
dev
只有一个提交(例如X)。这是Git命令的问题的顺序:
git checkout master
git pull
git branch -f es origin/es
git checkout dev
git rebase es
上次rebase产生大量的冲突与不包括在新es
分支提交,但它们都包含在master
分支。做一些挖掘后,我们发现,我们可以做的,而不是底垫这个重建结构:
git checkout es
git checkout -b dev2
git cherry-pick X
git branch -D dev
git checkout es
git branch -m dev2 dev
这让我觉得现在的问题是,“老” dev
分支有一定的参考或链接旧的es
分支,这就是为什么rebase试图增加到dev
分支比X提交。我想知道是否有另一种更清晰的方法来使用户开发文件夹与存储库分支重新同步。
注意:用户从不更改es
或master
,只是dev
。