快速回滾已經commit的代碼(Android Studio)

分享職場生活、職場攻略、領導同事相處技能和創業資源

項目開發中,時常會遇到這樣一種情況,代碼已經commit(非push)上去了,但此時發現有誤,不想提交了,如何回滾?

這點對於新手git的開發者還是比較陌生的。

今天和大家分享這個知識點,如果你對git用法很熟練,請跳過。

首先我們來看還沒有commit任何代碼的push界面:

快速回滾已經commit的代碼(Android Studio)

然後我們隨便修改一份文件,我這裡修改MainActivity.java的內容,且執行了commit操作:

快速回滾已經commit的代碼(Android Studio)

如果這時候我們發現剛才commit的有誤,不想提交了,想對其進行回滾,如何進行revert commit了。

通過選中工程(或是直接選擇MainActivity.java文件),點擊右鍵,在彈出的列表中選擇Git-->Repository-->Reset HEAD

快速回滾已經commit的代碼(Android Studio)

其中

Git Root:表示要revert的目錄

Current Branch:當前分支branch

Reset Type:

Soft:選擇這個模式意思是僅僅撤銷commit而已,不影響本地的任何文件,也不影響(index)緩存區的任何文件。

Hard:不僅撤銷commit的內容,還將本地的文件指向commit前的版本,同時index也會指向commit前的版本。

Mixed:回滾index,其餘的保持不變。

如果把HEAD後面加個“~1”,這裡的數字代表次數,比如commit了三次, 1,就是回滾最後一次提交的,2,就是後兩次提交的一起回滾了。

官方文檔是這樣描述的:Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. This is the default action.

Validate:當前會影響到的文件有哪些,具體是什麼。

當我們執行下soft模式的,執行完成後,看下圖,剛才我們commit的記錄已經沒有了:

快速回滾已經commit的代碼(Android Studio)

如果你不喜歡可視化的,習慣用命令行處理,命令行實現也是一樣的:

git reset [--soft | --mixed [-N] | --hard] HEAD~X

其中X:代表次數。

希望對你學習有幫助。

【END】


分享到:


相關文章: