圖解git的reset跟以及撤回add以及commit命令
阿新 • • 發佈:2019-01-01
首先,工作區即我們能看到的資料夾的檔案,暫存區則是git用來快取的區域,版本庫就是git每次commit後的儲存的地方。
如圖就是各命令執行後的情況,至於分支情況,就等下次有機會再說吧
撤回git add
撤回上次所有add
git reset HEAD
撤回上次add的某個檔案
git reset HEAD 【檔案路徑】
撤回git commit
如果只是commit的資訊填錯
git commit --amend
如果還有檔案提交錯
git reset --soft HEAD~
或者
git reset HEAD~
兩個命令的區別可以看上面的圖
git reset
git reset –mixed【commit_id】
此為預設方式。保留本地原始碼,回退commit和index資訊
git reset –soft 【commit_id】
回退到某個版本,只回退了commit的資訊,不會恢復到index file一級。如果還要提交,直接commit即可
git reset –hard 【commit_id】
徹底回退到某個版本,本地檔案原始碼也會變為上一個版本的內容。想清楚再用。此命令會改變工作區也就是你現在看到的資料夾裡的內容,慎用
其中HEAD~3表示前3個版本,HEAD~4表示前4個版本。commit_id也可以通過git log檢視
可根據圖片對比。
如有錯誤,歡迎提出