簡體   English   中英

如何修改舊的現有推送提交?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM