-
修改上一次提交的文案
git commit —amend複製程式碼
我第一次提交時執行了命令:git add .git commit -m “add some thing”
但是commit後悔了,需要做一些修改再提交
再次提交的時候執行 git commit —amend 這時候log日誌只顯示一條資訊
-
撤銷操作
- 在執行了commit 命令時 : 回滾到某一個版本
git reset —hard
提交的id[commit_id]要回退到未來 可以使用 git reflog [由上到下分別顯示的是最新的提交命令]檢視歷史命令,這樣再使用回滾到某一個版本的命令,執行回滾即可 - 在未執行 commit但執行了 add,可使用
git reset HEAD file
,便回到執行add 之前的狀態(從stage狀態回到modified狀態) - 對file做了一些修改,但沒有執行 add ,這個時候執行
git checkout - - file
便可撤銷所有的修改
- 在執行了commit 命令時 : 回滾到某一個版本
-
刪除了某一個分支,恢復上面的東西
- git log -g找回刪掉的commit_id
- git branch 新分支名 commit_id 即可
-
單獨恢復某個檔案
- git log 檔名 —>
找到要回退的版本 - git reset commitID 檔名 —>
這時候可能會出現這樣的 Unstaged changes after reset - git checkout — 檔名 即可
- git log 檔名 —>
-
git clean 刪除工作目錄中沒有tracked的檔案
-n 不會刪除任何檔案,只是提醒 -f 刪除當前目錄下沒有track過的檔案,不刪除.gitignore指定的檔案和資料夾 -df 刪除沒有track的檔案和資料夾-xd 刪除沒有track過的檔案,不管是否在.gitignore指定複製程式碼
-
git rm 從Unmodified狀態到modified狀態
-
git reset —soft HEAD^
回到最後一次commit —amend
,即commit 到stage狀態—soft 快取區和工作目錄都不會改變
附錄
git檔案修改的狀態變更