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

jopen 12年前發布 | 26K 次閱讀 Eclipse Git 版本控制系統

GIT中有三種重置功能,分別是soft、mixed、hard,區別如下:

Soft - 當前分支重置到指定commit記錄位置,索引和工作樹不變;

Mixed - 當前分支重置到指定commit記錄位置,索引被更新,工作樹不變;

Hard - 當前分支重置到指定commit記錄位置,索引和工作樹都更新。

貌似不好理解,首先要理解GIT的三個區域(工作樹、索引區、倉庫),可以參考文檔《GIT簡介》。

先做soft的測試,新建Soft.java文件,可以看到此文件未添加到索引控制

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

先進行一次提交,提交后在History窗口中重置此次提交,如圖:

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

重置后查看工作樹,如圖

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

從上圖可以看出,soft文件還存在,說明重置沒有改變工作樹,而且soft文件不是“問號”圖標,說明已經添加到索引,說明索引也沒有變。唯一重置的是歷史記錄。

然后新建Mixed.java文件,此時Mixed.java也沒有添加到索引控制,然后提交。

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

在History窗口中重置

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

重置后查看工作樹結果如下:

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

從上圖可以看出,Mixed.java文件還存在,說明工作樹沒有改變,但是文件狀態是untracked,說明索引被更新,此時文件沒有添加索引控制。

最后來看hard重置,新建Hard.java文件,此時文件沒有添加索引,然后提交。

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

在History界面重置此次提交,如圖:

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

重置后再查看工作樹,結果如下:

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

可以看到Hard.java文件已經不存在了,說明索引和工作樹都被更新。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!