我有一個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
。