如何修改Git提交記錄

如何修改Git提交記錄

因爲錯誤,補充或說明格式等問題,有時需要修改已執行的Git提交記錄。這個操作並不常用,很多人並不清楚如何操作,所以特意寫了本博客進行詳細說明。

開始前先學一個英文單詞:

amend /əˈmend/
vt. 修改;改善,改進;
vi. 改正,改善;改過自新
The seller will request to amend the letter of credit. 賣方要求修改信用證。

修改最後一次Git提交

如果是修改最後一次提交,操作比較簡單,直接使用 git commit --amend 命令即可。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
使用TortoiseGit的話,在commit對話框勾選Amend Last Commit選項即可。
在這裏插入圖片描述

修改任意歷史提交

修改非最後一次提交記錄會稍微麻煩些,需要先進行變基操作

  1. 發送命令 git log 查看當前提交記錄。
    在這裏插入圖片描述
  2. 發送命令 git rebase -i HEAD~2 ,它會打開一個編輯器,它會把最後2次的提交顯示出來。這裏的提交日誌是和git log倒敘排列的,最後一次提交記錄在最下方。
    在這裏插入圖片描述
    對於需要修改的提交,將其行首的命令字段"pick"修改爲"edit"或"e",然後保存退出。
    在這裏插入圖片描述
    此時看到命令行輸出由master變爲了master|REBASE-i 1/2,表示當前處於變基狀態,1/2表示有2條提交可修改,當前是第一條。此時使用git commit --amend命令可以修改當前提交內容,使用git rebase --continue命令則是跳過當前記錄。
    在這裏插入圖片描述
    在這裏插入圖片描述
    修改完所有提交後,Git恢復到正常狀態。
    在這裏插入圖片描述
    再次查看提交記錄,發現以往的提交信息已經被修改了。
    在這裏插入圖片描述

更新服務端的提交記錄

如果之前的提交已近同步到服務端,那就先在本地按上面的方法修改歷史提交記錄,然後PUSH到服務端,需要重點提醒一下的就是:這種情況下的推送命令要增加--force參數。

git push origin master --force
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章