4個區

5種狀態
- 未修改(Origin)
- 已修改(Modified)
- 已暫存(Staged)
- 已提交(Committed)
- 已推送(Pushed)
檢查修改
-
已修改,未暫存(檢查工作區與暫存區間的差異)
git diff -
已暫存,未提交(檢查暫存區與本地倉庫間的差異)
git diff --cached -
已提交,未推送(檢查本地倉庫與遠程倉庫間的修改)
git diff master origin/master ## origin/master 為遠程倉庫
撤銷修改
-
已修改,未暫存(撤銷工作區的修改)
git reset --hard -
已暫存,未提交(撤銷暫存區的修改)
git reset --hard -
已提交,未推送(撤銷本地倉庫的修改)
git reset --hard origin/master ## origin/master 為把遠程倉庫的代碼取回並覆蓋本地代碼 -
已推送(撤銷遠程倉庫的修改)
git reset --hard HEAD^ git push -f ## 此時本地倉庫和遠程倉庫是一樣的 ## 1.第一步先恢復本地倉庫 ## 2.第二步再強制同步本地倉庫到遠程倉庫
