![](/img/trans.png)
[英]How do I change a remote commit message of an very old commit in GIT with rebase
[英]Do I need to git rebase on every branch to fix a pathological commit message?
我正在向 git 提交一個大文件,在編輯提交消息文件時,我的編輯器似乎搞砸了。 結果是~100k 行的整個差異變成了我的“提交消息”。 現在,每次我在存儲庫中加載頁面時,都會減慢整個 git 服務器的速度。
我知道我可以簡單地在我的主分支上運行交互式 rebase 來編輯提交消息。
不幸的是,當我意識到這一點時,有問題的提交已經被合並到主分支中,並從那里合並到其他幾個分支中。 那么這是否意味着我必須跟蹤每個分支中的提交並在其上重復變基?
我記得在 git 中,提交是不可變的對象,而分支只是提交上的標簽。 所以並不是說“多個分支有一個commit”,而是一個commit 可以是多個分支的成員。 這是否意味着如果我只在 master 分支上編輯提交,其他分支也將被修復? 還是不是因為交互式變基只是用我編輯的消息創建了一個新提交,而不是從字面上編輯原始提交 object?
如果要編輯歷史記錄,所有解決方案的共同點是:
要為所有分支重寫該特定提交,請查看git filter-repo
或git filter-branch
而不是git rebase
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.