[英]can not change the (not the last) pushed commit message
我不會更改已推送的提交消息,而不是最后一次提交。 正如git文檔所建議的那樣,我只是按如下方式進行了變基:
rebase -i HEAD~2
然后按如下方式編輯結果:
reword e499d89 some thig been done
pick 0c39034 some other thing been done
然后成功保存提交列表文件,並且在對改寫后的提交進行編輯后,將提示如下:
some thig been done
#some comments here
-->list of changelist here
我編輯了提交消息並保存了它,但是畢竟git日志在git提交及其消息中沒有顯示任何更改。
最終 ,問題是由於提交消息文本,由於問題跟蹤器和git服務器的集成,我們在任何提交開始的尖銳符號后添加了問題ID,因此提交看起來像這樣:
#123 some thing been done
然后在編輯提交消息的最后階段,整個提交消息被解釋為另一個注釋行(我想):
#123 some thig been done
#some comments here
-->list of changelist here
因此,只需在尖號之前添加一個空格即可解決問題並創建新的提交:
#123 some thig been done
#some comments here
-->list of changelist here
PS:我不知道它是否可以稱為git的bug?
通過所有操作后: 重新措詞 ->輸入新的提交消息->保存文件->關閉文件
您應該強制推送修改后的提交以更改提交歷史記錄:
$ git push --force
假設提交日志為ABCDE<-master
並且您想修改C的提交消息。
git checkout master
git reset C --hard
git commit --amend
#modify the change commit message, save and quit
git cherry-pick C..E
#or git cherry-pick D E
#or git cherry-pick D;git cherry-pick E
git push origin -f master:master
如果其他人已克隆或獲取了您以前的master
,則需要通知他們以將master
更新到最新版本。
假設他們具有本地master
ABCDEFG
。
git fetch origin master
git reset B --hard
git rebase FETCH_HEAD
git cherry-pick F G
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.