1. 程式人生 > >圖解git的reset跟以及撤回add以及commit命令

圖解git的reset跟以及撤回add以及commit命令

首先,工作區即我們能看到的資料夾的檔案,暫存區則是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】

   此為預設方式。保留本地原始碼,回退commitindex資訊
git reset –soft 【commit_id】

    回退到某個版本,只回退了commit的資訊,不會恢復到index file一級。如果還要提交,直接commit即可
git reset –hard  【commit_id】

    徹底回退到某個版本,本地檔案原始碼也會變為上一個版本的內容。想清楚再用。此命令會改變工作區也就是你現在看到的資料夾裡的內容,慎用

其中HEAD~3表示前3個版本,HEAD~4表示前4個版本。commit_id也可以通過git log檢視

可根據圖片對比。

如有錯誤,歡迎提出