1、提交完了才發現漏掉了幾個文件沒有添加,或者提交信息寫錯了。
git commit --amend //
這個命令會將暫存區中的文件提交。 如果自上次提交以來你還未做任何修改(例如,在上次提交後馬上執行了此命令),那麼快照會保持不變,而你所修改的只是提交信息。
2、文本編輯器啓動後,可以看到之前的提交信息。 編輯後保存會覆蓋原來的提交信息
git commit -m 'initial commit'
git add forgotten_file
git commit --amend
最終你只會有一個提交 - 第二次提交將代替第一次提交的結果。
3、取消暫存的文件
// 已經修改了兩個文件並且想要將它們作爲兩次獨立的修改提交,
// 但是卻意外地輸入了 git add * 暫存了它們兩個
git reset HEAD <file>...
雖然在調用時加上 --hard 選項可以令 git reset 成爲一個危險的命令(譯註:可能導致工作目錄中所有當前進度丟失!),但本例中工作目錄內的文件並不會被修改。 不加選項地調用 git reset 並不危險 — 它只會修改暫存區域。
4、撤消對文件的修改
如何方便地撤消修改 - 將它還原成上次提交時的樣子,git status 也告訴了你應該如何做。
git checkout -- [file]
你需要知道 git checkout -- [file] 是一個危險的命令,這很重要。 你對那個文件做的任何修改都會消失 - 你只是拷貝了另一個文件來覆蓋它。 除非你確實清楚不想要那個文件了,否則不要使用這個命令。