[英]How to modify a old existing pushed commits?
看着我的提交樹,我看到一個相對較舊的推送提交,描述不正確。 我想改變它。 那可能嗎? 我該怎么做?
提交已被推送到服務器。 提交是一個舊的提交,之后提交了很多提交。 我只想更改消息,而不是內容。
那可能嗎?
是的,itzmeontv的答案涵蓋了這一點
我該怎么做?
別。 提交消息是提交的一部分,並且會影響SHA1哈希(以及其他元數據,如父提交)。
因此,更改消息會創建一個新的提交(對樹具有相同的效果),並因此也重寫每個后續的提交以更改其父級。
也就是說,它構造了一個並行的重復時間線,從該原始提交的新版本開始。 違反原始時間表的其他任何人都會不滿意。
無論如何,您都必須進行force push
(不建議這樣做),從而從該提交重寫整個樹。
git rebase -i HEAD~n # Displays a list of the last n commits on the current branch
從清單中可以看到
pick e499d89 Delete CNAME
pick 0c39034 Better README
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
將pick
更改為reword
pick e499d89 Delete CNAME
reword 0c39034 Better README #line to change the message
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
保存並關閉提交列表文件。 在每個生成的提交文件中,鍵入新的提交消息,保存文件,然后關閉它。
然后
git push --force
希望這對您有幫助。更多信息https://help.github.com/articles/changing-a-commit-message/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.