如何修改Git已提交的日誌

如何修改Git已提交的日誌

img

情況一:最後一次提交且未 push

執行以下命令:

<code>git 

commit

 /<code>

git 會打開 $EDITOR 編輯器,它會加載這次提交的日誌,這樣我們就可以在上面編輯,編輯後保存即完成此次的修改。

情況二:最後一次提交且已 push 到服務器

執行以下命令:

<code>git 

commit

  git push origin 

master

 /<code>

和情況一的做法一樣。使用 push 推送到遠程服務器是需要加上 --force,讓服務器更新歷史記錄。

** 需要注意的是:把修改後的日誌強制 push 到 Git 服務器,如果別人本地的副本有修改,很有可能會導致他們同步不了,所以最好和他們核對下。**

情況三:舊的提交且未推送

假設 commit 是倒數第 3 次提交,這個可以使用 git log 查看,

<code>

$

 

git

 

log

commit

 

b1b451d218cc23b6c769f373164f2b89cf54d0aa

Author:

 

clcaza

 

Date:

  

Sat

 

Mar

 

10

 

19

:09:08

 

2018

 

+0800

  

添加內容

 

d

commit

 

04f0d1809d5d31cc6e930efcba47a5f3f7e93319

Author:

 

clcaza

 

Date:

  

Sat

 

Mar

 

10

 

19

:08:24

 

2018

 

+0800

  

添加內容

 

c

commit

 

94fc8feb916442d56b558d5c370f18f057298921

Author:

 

clcaza

 

Date:

  

Sat

 

Mar

 

10

 

19

:07:08

 

2018

 

+0800

  

添加內容

 

a

commit

 

fd517efa9faf6a5ec71d0eac38fbcfa0cd689f40

Author:

 

clcaza

 

Date:

  

Sat

 

Mar

 

10

 

19

:06:21

 

2018

 

+0800

  

init

/<code>

執行 rebase

<code>

git

 rebase -i HEAD~

3

/<code>

它會打開一個編輯器,它會把最後前 3 次的提交顯示出來,類似於:

<code>

pick

 94fc8fe 添加內容 a pick 04f0d18 添加內容 c pick b1b451d 添加內容 d/<code>

你會看到,它是按提交的順序顯示的,與 git log 顯示的順序相反。定位到你要編輯日誌的那一行,把 pick 修改為 edit,然後保存。

接著就是修改日誌內容了

<code>git 

commit

 /<code>

完成編輯日誌後,記得執行:

<code>git rebase --

continue

/<code>

Rebase 目的是打開提交的歷史記錄,讓您選擇要修改的內容。 Git 會讓你在一個新的分支修改內容。 git rebase --continue 則是讓你重新回到之前的分支。

情況四:舊的提交且已 push 到服務器

前面編輯日誌的操作是和情況三是一樣的:

<code>git rebase -i HEAD~X
git 

commit

  git rebase /<code>

X 表示倒數第幾次提交。

完成編輯日誌後,執行 push:

<code>git push origin master /<code>


分享到:


相關文章: