git 強制合併 commit 並覆蓋遠端分支

在使用 git 時,如果 commit 後已經推送到遠端儲存庫,才發現 commit 的內容有錯,想要修改當前的 commit 內容,並且強制覆蓋到遠端的儲存庫該怎麼做?
註:平時盡量不要這樣操作,會覆蓋掉遠端分支的內容,影響到所有人

首先先將暫存區的內容移除(就是 git add . 的相反動作):
    
git reset 
    

使用 git add 將要修改的內容加入到暫存區中,假設要加入 a.txt:
    
git add a.txt 
    

確認 git 暫存區中的檔案:
    
git status 
    

強制把變更合併到上一個 commit
    
git commit --amend --no-edit
    

將變更強制推送到遠端分支(這裡示範的遠端分支是 devlop)
    
git push -f -u origin develop 
    

留言