假設我有這個提交歷史:
A - B - C (master)
\
D - E - F (Feature)
我想修改提交B。所以,我這樣做:
- git結賬大師
- git rebase -i < A的哈希值>
變基完成后,我使用 git log 看到了更改。但是,當我切換到Feature分支時,提交B仍然是變基之前的狀態。換句話說,當我在master分支時,提交歷史是這樣的:
A - B' - C (master)
當我切換到Feature分支時,提交歷史如下所示:
A - B - C (master)
\
D - E - F (Feature)
我知道重寫提交歷史是不明智的,但在我的情況下我必須這樣做。
如何修改舊的提交并將這些更改反映在每個分支上?我這樣做是錯誤的嗎?
新的提交歷史將被強制推送到 Github,我不想把事情搞砸。
任何幫助,將不勝感激。
uj5u.com熱心網友回復:
在你變基之后,你實際擁有的是
B'- C' (master)
/
A - B - C
\
D - E - F (Feature)
所以現在要完成你必須重新建立的操作Feature(最近重寫的)master
$ git checkout Feature
$ git rebase master
D'-E'-F' (Feature)
/
A - B'- C' (master)
\
B - C - D - E - F (soon to be garbage collected)
uj5u.com熱心網友回復:
這些變化是否會反映在每個分支上?
您需要手動重新設定每個分支。無法更改一個分支的內容并將這些更改反映在其他分支上,這與 Git 的作業方式是對立的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/495499.html
上一篇:無法連接到存盤庫:執行git命令時出錯:gitls-remote-h***publicgithuburl***HEAD
