2017-02-23 132 views
0

在工作中,一些同事正在使用Tower與Git進行交互。 Tower在合併和壓縮提交時自動創建提交消息。因此,我們現在幾天前已經提交了幾條提交消息,大小超過100MB。這對我的IDE使用接近4GB的RAM造成了一些實際問題,並使其無法工作。刪除舊的提交消息

我的問題是,如何更改這兩個提交的提交消息。我嘗試過git rebase -i <hash#>,當交互式底圖打開時,我通過提交之一輸入reword,然後按:wq。問題在於,好像我可能需要經歷100多次提交併解決衝突才能重新分配。我知道我一定在做錯事。

任何人都有任何想法如何做到這一點,而無需搞砸我當前的分支,也不必解決一大堆以前的提交合並衝突?

回答

2

看起來你沒有使用正確rebasegit rebase -i <hash#>將重播上<hash#>之上,這似乎並不像你想做什麼你當前分支。

假設有問題的提交信息是在一個特性分支(比master),你可能想要做這樣的事情:

git checkout my-branch 
git rebase -i $(git merge-base master HEAD) 
# Use reword as you did previously 

這將執行就地一個rebase,方便您調節在my-branch中的提交也不在master中。

0

重寫最近提交信息

可以更改最近使用git commit --amend命令提交信息。

凱明尚未在線

被推如果只承諾在您的本地資源庫中,並沒有被推到GitHub上,你可以用git commit --amend命令修改提交信息。

  1. 在命令行上,導航到包含要修改的提交的存儲庫。
  2. 類型git commit --amend並按輸入
  3. 在您的文本編輯器中,編輯提交消息並保存提交。

新提交和消息將在您下次推送時顯示在GitHub上。

更多閱讀於此Github上發表文章here

希望幫助:)

+0

我很確定OP是在描述一個情況,其中提交是無數天前推... – stevieb

+0

@stevieb好吧,這很好。 –