修改/恢復commit
在改寫程式,提交commit的反覆的過程中,有時會希望手上的程式能夠回到某個過去的狀態,以下的指令是能夠達成以上期望的指令,包括git commit --amend以及git reset。
git commit --amend
用途:修改已經提交的commit。
初始狀態:

使用情境:對程式做了些微的改寫,不想為此改寫提交另外的commit,想將所作的修正附加到已經提交的commit中,於是修改已經發出的commit。
1
2$ git add .
$ git commit --amend
對比情境:”為此改寫提交另外的commit”。
1
2$ git add .
$ git commit -m "update"
git reset
- 用途:取消已經提交的commit。
- 初始狀態:

- 選項:
--hard,--soft,--mixed,預設是--mixed。git reset HEAD~(Note:HEAD是目前工作節點的指標,~是往前1層)

git reset HEAD~~(Note:HEAD是目前工作節點的指標,~是往前2層)

git reset --hard HEAD~~(Note: 使用--hard要格外小心,一不小心所有的編修都會消失。--hard徹底刪除commit,也修改工作目錄)

- 藉由這個指令刪除工作區的內容:
git reset --hard HEAD(Note: 回到提交最後一個commit提交後的狀態)- 初始狀態:

git reset --hard HEAD

- 初始狀態: