1. 程式人生 > 實用技巧 >Eclipse上GIT外掛EGIT使用手冊之十二_重置功能

Eclipse上GIT外掛EGIT使用手冊之十二_重置功能

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

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