[譯]git commit --amend


git commit --amend命令用來修復最近一次commit. 可以讓你合並你緩存區的修改和上一次commit, 而不是提交一個新的快照. 還可以用來編輯上一次的commit描述.

記住amend不是修改最近一次commit, 而是整個替換掉他. 對於Git來說是一個新的commit. 

 

用法

git commit --amend

合並緩存區的修改和最近的一次commit, 然后用生成的新的commit替換掉老的. 如果緩存區沒有內容, 那么利用amend可以修改上一次commit的描述.

 

討論

開發過程中很容易忘記stage某個文件或填寫了不夠准確的commit描述. --amend就是用來fix這些錯誤的.

不要對一個公共的commit使用amend

amend后生成的commit是一個全新的commit, 之前的老的commit會從項目歷史中被刪除. 如果你amend了一個被其他開發者使用的commit, 會嚴重影響其他開發者. 

 

例子

下面的例子我們添加一個文件, 然后單獨把它commit到HEAD里面, 然后發現這次commit少包括了一個文件. 然后我們使用--amend解決這個問題.

# Edit hello.py and main.py
git add hello.py
git commit

# Realize you forgot to add the changes from main.py
git add main.py
git commit --amend --no-edit

編輯器的默認描述會是上一次commit的描述, --no-edit能讓我們修復commit,而且不要修改commit描述.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM