2016年7月9日 星期六

Git push 上去後,再修改 commit 說明訊息

Git commit 後,才剛 push 到遠端,且還沒有其他人下載或更動過。
可用以下方式修改提交的訊息。

修改最近一次提交的訊息
$ git commit --amend
跳出修改畫面,修改後儲存(:wq)


使用 --force-with-lease 參數重新 push
$ git push --force-with-lease <遠端儲存庫別名> <分支名稱>
例如
$ git push --force-with-lease origin master
使用 --force-with-lease,而不用 --force 的原因
是 --force-with-lease 可避免執行時,若有其他人在對遠端儲存庫存取,對資料造成損毀。
(但舊的版本似乎沒 --force-with-lease)


如果已有其他人抓取了未修改前的資料,
那其他人則必須,抓修改後的資料後,然後 reset hard 讓本地端變成修改後的資料,
但此時本地端若有修改,將會不見。
git fetch origin
git reset --hard origin/master # 本地端的修改會不見



參考:
Changing git commit message after push (given that no one pulled from remote) - Stack Overflow
Git - git-push Documentation

沒有留言:

張貼留言