我意外地更新爲之前的修訂版本,並在默認分支下提交,在默認分支下導致2個頭。我想將其中一個頭移到另一個分支。我想移動的這個頭是在幾次交易之前完成的。我怎樣才能改變它所屬的分支,這樣我就可以在沒有強制推送的情況下將另一個頭部推送到服務器?如何刪除烏龜中的'分支'HG
到目前爲止我還沒有推送任何內容到服務器。如果涉及到它,我可以複製我需要的文件並重新登錄存儲庫。
我意外地更新爲之前的修訂版本,並在默認分支下提交,在默認分支下導致2個頭。我想將其中一個頭移到另一個分支。我想移動的這個頭是在幾次交易之前完成的。我怎樣才能改變它所屬的分支,這樣我就可以在沒有強制推送的情況下將另一個頭部推送到服務器?如何刪除烏龜中的'分支'HG
到目前爲止我還沒有推送任何內容到服務器。如果涉及到它,我可以複製我需要的文件並重新登錄存儲庫。
您可以使用變更擴展名重寫歷史記錄。它已經安裝,你只需要啓用它(從文件>設置>擴展在tortoiseHG)。在tortoiseHG裏面你可以找到它,如果你右鍵點擊一個修訂版本,進入「修改歷史記錄」,選擇「rebase」。但對於更多的控制,我建議下降到命令行。
比方說,您有一個修訂w
這是一個新的默認分支頭。 (w
可能有後代會隨之移動)。
-o-o-o-o
\
w
其母公司應該已經在另一個分支一部分修改b
(未顯示)。只需輸入:
hg rebase --source w --dest b --detach
就是這樣!它將重新編號w
及其所有後代(如果有的話),以便其新的父項爲b
。它將被分配到與b
相同的分支名稱,除非您添加--keepbranches
。標誌--detach
可確保在某些情況下不會出現複雜的拓撲結構。