git commit --amend用法(摘抄)

適用場景:

比方說,你的代碼已經提交到git庫,leader審核的時候發(fā)現(xiàn)有個Java文件代碼有點問題,于是讓你修改,通常有2種方法:

方法1:leader 將你提交的所有代碼 abandon掉,然后你回去 通過git reset …將代碼回退到你代碼提交之前的版本,然后你修改出問題的Java文件,然后 git add xx.java xxx.java -s -m “Porject : 1.修改bug…”?

最后通過 git push origin HEAD:refs/for/branches

方法2:?

leader不abandon代碼,你回去之后,修改出問題的Java文件,修改好之后,git add 該出問題.java?

然后 git commit –amend –no-edit,?

最后 git push origin HEAD:refs/for/branches。


當我們想要對上一次的提交進行修改時,我們可以使用git commit –amend命令。git commit –amend既可以對上次提交的內容進行修改,也可以修改提交說明。

舉個例子:

Step1:我們先在工作區(qū)中創(chuàng)建兩個文件a.txt和b.txt。并且add到暫存區(qū),然后執(zhí)行提交操作:

Step2:此時我們查看一下我們的提交日志:

可以看到我們的提交日志中顯示最新提交有兩個文件被改變。

Step3:此時我們發(fā)覺我們忘了創(chuàng)建文件c.txt,而我們認為c.txt應該和a.txt,b.txt一同提交,而且a.txt文件中應該有內容‘a’。于是我們在工作區(qū)中創(chuàng)建c.txt,并add到暫存區(qū)。并且修改a.txt(故意寫錯語法且沒有將a.txt的修改add到暫存區(qū)):

Step4:我們查看一下此時的提交日志,可以看到上次的提交0c35a不見了,并且新的提交11225好就是上次提交的修補提交,它就像是在上次提交被無視了,修改后重新進行提交了一樣:

Step5:此時我們發(fā)現(xiàn)a.txt文件修改沒有成功,于是我們還得進行一次對a.txt的修改,將a.txt add到stage,然后再執(zhí)行一次與上一次類似的提交修補:

OK了,git commit –amend的用法大致就是這樣。

總結:git? commit --amend 相當于上次提交錯誤的信息被覆蓋了,gitk圖形化界面上看不到上次提交的信息,git log上也看不到之前的信息,而add 后再commit 相當于重新加了一個信息。相當于打了個補???

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Git 命令行學習筆記 Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 4,165評論 0 11
  • Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 16,221評論 5 147
  • 本書介紹: 這是一本傳記,主人公是前蘇聯(lián)科學家柳比歇夫。 格蘭寧在這本書還原了柳比歇夫的一生。用真實的案例給我們講...
    愛笑粥粥閱讀 579評論 0 2
  • 你還記得當年個子小小的臉黑黑的瘦瘦的你第一次聽見他回答問題時羞澀的語氣嗎? 你還記得當年他對你歪著嘴笑得痞里痞氣的...
    莫三控閱讀 348評論 3 2

友情鏈接更多精彩內容