git reset 命令的選項
1.git reset --mixed HEAD~ (默認)
-移動HEAD的指向,將其指向上一個快照
2.git reset --soft HEAD~
-移動HEAD的指向,將其指向上一個快照(相當於撤銷commit)
3.git reset --hard HEAD~
-移動HEAD的指向,將其指向上一個快照
-將HEAD移動后指向的快照回滾到暫存區域
-將暫存區域的文件還原到工作目錄
reset 回滾到指定快照
git reset id號(建議是5位)
當還原到最老id時,如果知道最新id 可以回滾到最新快照,即使他已經被舊版本覆蓋(hard)
reset 回滾個別文件
git reset 版本快照 文件名/路徑(忽略HEAD指針的改變)
版本對比
1.比較暫存區域和本地工作目錄
git diff
diff --git a/README.md b/README.md
#表示分布把暫存目錄和工作目錄的文件放置在自動生成的a/b文件夾下,比較兩個文件夾
---a/README.md #暫存區域
+++b/README.md #工作目錄 新(+)
搜索
#/+關鍵詞 從上往下搜索
#?+關鍵詞 從下往上搜索
q退出
比較兩個歷史快照:
git diff 快照ID1 快照ID2
比較暫存區域和git倉庫的快照
git diff --cached 快照id
修改最后一次提交
1.在實際開發過程中,你可能遇到以下兩種情景:
情景1:版本剛一提交(commit)到倉庫,突然想起漏掉兩個文件還沒有(add)
情景2:版本剛一提交(commit)到倉庫,突然想起版本說明寫的不夠全面,無法彰顯你本次修改的重 大意義
執行帶 --amemd 選項的 commit提交命令,Git 就會''更正''最近的一次提交
git commit --amend
刪除文件
git rm 文件名
該命令刪除的只是工作目錄和暫存區域的文件,也就是取消跟蹤,在下次提交的時候不納入版本管理。
然后soft HEAD 回到過去
重命名文件
git mv 舊文件名 新文件名