Eclipse上GIT外掛EGIT使用手冊之十二_重置功能
阿新 • • 發佈:2020-10-22
GIT中有三種重置功能,分別是soft、mixed、hard,區別如下:
l Soft - 當前分支重置到指定commit記錄位置,索引和工作樹不變;
l Mixed - 當前分支重置到指定commit記錄位置,索引被更新,工作樹不變;
l Hard - 當前分支重置到指定commit記錄位置,索引和工作樹都更新。
貌似不好理解,首先要理解GIT的三個區域(工作樹、索引區、倉庫),可以參考文件《GIT簡介》。
先做soft的測試,新建Soft.java檔案,可以看到此檔案未新增到索引控制
先進行一次提交,提交後在History視窗中重置此次提交,如圖:
重置後檢視工作樹,如圖
從上圖可以看出,soft檔案還存在,說明重置沒有改變工作樹,而且soft檔案不是“問號”圖示,說明已經新增到索引,說明索引也沒有變。唯一重置的是歷史記錄。
然後新建Mixed.java檔案,此時Mixed.java也沒有新增到索引控制,然後提交。
在History視窗中重置
重置後檢視工作樹結果如下:
從上圖可以看出,Mixed.java檔案還存在,說明工作樹沒有改變,但是檔案狀態是untracked,說明索引被更新,此時檔案沒有新增索引控制。
最後來看hard重置,新建Hard.java檔案,此時檔案沒有新增索引,然後提交。
在History介面重置此次提交,如圖:
重置後再檢視工作樹,結果如下:
可以看到Hard.java檔案已經不存在了,說明索引和工作樹都被更新。轉載於:https://my.oschina.net/91jason/blog/406709