我有一個被推送到遠程的提交,我想更改它的消息。如何更改推送的git commit的名稱?
我知道我可以使用git push -f
強制推送不同的提交,但首先我需要刪除舊提交併保留更改,以便我可以再次提交。
我該怎麼做?
我有一個被推送到遠程的提交,我想更改它的消息。如何更改推送的git commit的名稱?
我知道我可以使用git push -f
強制推送不同的提交,但首先我需要刪除舊提交併保留更改,以便我可以再次提交。
我該怎麼做?
作爲一個免責聲明,這個答案涉及到重寫有關分支的歷史。因此,應該謹慎使用已公開分享的分支機構。
最簡單的解決這裏,假設沒有其他人推到分支的遠程副本,是簡單地修改提交經:
git commit --amend
這應該彈出一個文本編輯器,你可以將提交消息更改爲任何你想要的。
正如你所說,你現在必須強制通過這個分支推送到遠程的:
git push --force origin yourBranch
如果你想改變的最新承諾,使用
git commit --amend
然而,對於已經被推送的提交,你只能這樣做,如果你確信沒有人簽出的承諾將要覆蓋。
以及你需要使用下面的命令git commit --amend
,這將創造同樣的地方,但有正確的信息提交,然後你把它推到遠程
使用:
git commit --amend
似乎這裏是顯而易見的解決方案,但你沒有提到任何分支在你的問題,以便答案可能不正確的解決方案在你的情況。 如果您要重命名的承諾是隻有你創建的,至今使用的,並沒有被合併到另一個分支的一個分支,我建議另一種選擇是:
不過,它確實取決於提交是在單獨的分支上還是在主要分支上(例如,主)。
我認爲有問題的提交已經推送到遠程。 –
沒錯,但如果它在沒有人使用的分支上,它可以安全地刪除。似乎這個問題缺乏關於分支的信息。無論如何,似乎他接受了你的回答,所以我剛纔提出了另一種解決問題的方法 – yorammi
謝謝,我以爲'--amend'只用於本地提交。 – jcubic