2016-10-06 140 views
0

我需要做的就是修改本地分支中一些過去提交的提交消息,然後將這些修改推送到服務器。我不需要在過去的提交中實際更改任何文件,而過去的提交併不是最新的提交,它們來自2-3次提交之前。在git中修改過去提交的提交消息

我見過的大多數答案都是修改過去提交的文件,或者只是修改最近的提交消息。這兩個都不是我正在尋找的。

我希望這是一個快速簡便的一個所有你的Git專家:-)

+0

其他問題的標題真的應該,因爲大部分被編輯它與推式提交有關... id在這裏說,但它是一個鎖定的線程。 – UpAndAdam

回答

1

這通常不能在一個完全安全的方式完成,無論背景,但它可以做到的。

最簡單的方法是做一個交互式重新組織(潛在地保留合併)並標記你想編輯提交信息,編輯它們然後強制推送分支。

這將改變所有提交的哈希,從您修改的第一個提交到分支的提示。如果這個分支已經被合併爲主,那麼這可能是一個壞主意,除非你與涉及該項目的其他人一起檢查。

開始之前這項工作,我強烈建議你考慮別人是否已經消耗了你的分支的是,是否有任何合併,你必須保護等

+0

假設我已經合併爲主人,並且我需要將歷史更改傳播給主人以及? – gzak

+0

您必須按照我所描述的方式去做,然後強行推動......但是在您強制推送之前,您需要非常清楚地與其他所有正在進行此回購的人交流您將要執行的操作,並確保他們都意識到他們需要從變革中恢復過來。 – UpAndAdam

+0

也取決於您的git回購託管的位置,您可能甚至可能不允許強行推送給主。 – UpAndAdam