首頁(yè)技術(shù)文章正文

Java培訓(xùn):git實(shí)戰(zhàn)技巧-本地剛做出的修改、暫存和提交如何進(jìn)行撤銷

更新時(shí)間:2022-06-22 來(lái)源:黑馬程序員 瀏覽量:

  1、解決思路

  工作區(qū)和暫存區(qū)內(nèi)容的撤銷,直接按照對(duì)應(yīng)命令或者IDEA界面完成操作就行。

  對(duì)于已提交的撤銷回滾建議如下:

  1. 代碼如果僅僅是回撤到指定版本,該版本之上的更新是不需要的,選擇Hard模式。

  2. 代碼回撤到指定版本時(shí),需要保存該版本之上的更新,可以選擇Soft模式。

  其他根據(jù)自己的需要選擇即可。

  2、動(dòng)手實(shí)踐

  2.1、基于IDEA解決

  1)撤銷工作區(qū)內(nèi)容

  變更內(nèi)容可以在Git工具窗口中直接撤銷,如下圖:

1655892128225_1.jpg

  或者右鍵的文件,選擇Git,然后選擇Rollback也可以完成撤銷。

1655892141389_2.jpg

  2)撤銷暫存區(qū)文件

  IDEA中做代碼更新后,可以不用額外的做暫存,直接提交就行了。所以可以不用考慮暫存撤銷的問(wèn)題。

  3)已提交的撤銷

  IDEA中要撤銷版本回到上一版本,或者回退到指定版本可以如下操作:

  1. 打開(kāi)Git工具窗口,點(diǎn)擊Log 查看版本提交記錄

  

1655892247499_3.jpg

      2. 然后右鍵你需要回退的版本,選擇Rest Current Branch to Here

  

1655892271003_4.jpg

     
      3. 此時(shí)會(huì)彈出一個(gè)菜單,供我們選擇,選擇需要的操作模式,然后點(diǎn)擊Reset即可

  

1655892316775_5.jpg

     
       撤銷模式說(shuō)明:

  四種模式在撤銷回滾時(shí),都會(huì)讓HEAD指針改變指向到指定版本。

  1. Soft:回滾代碼到指定版本時(shí),工作區(qū)文件不會(huì)做改變,相較于指定版本多出的更新將會(huì)被暫存等待提交

  2. Mixed:回滾代碼到指定版本時(shí),工作區(qū)文件不會(huì)有改動(dòng),但是暫存會(huì)被清空

  3. Hard:回滾到指定版本時(shí),工作區(qū)內(nèi)容會(huì)回滾到指定版本,暫存也會(huì)被清空(慎重,未提交的代碼有丟失風(fēng)險(xiǎn))

  4. Keep:回滾到指定版本時(shí),工作區(qū)內(nèi)容會(huì)回滾到指定版本,暫存區(qū)未提交內(nèi)容會(huì)保存

  2.2、基于Git命令解決

  1)工作區(qū)內(nèi)容撤銷

  命令:`git checkout -- fileName`

  例如,對(duì)readme.txt 進(jìn)行內(nèi)容修改,保存文件。此時(shí)在Git Bash 中執(zhí)行 `git status`看效果。

1655892389876_6.jpg

  上面有提示我們?nèi)绾芜M(jìn)行撤銷,現(xiàn)在我們撤銷readme.txt的修改:

1655892401918_7.jpg

1655892429399_8.jpg

  2)已暫存撤銷

  命令:

  `git reset HEAD file` 移除暫存區(qū)回到工作區(qū),內(nèi)容在工作區(qū)中還是存在的

  例如,對(duì)readme.txt 進(jìn)行內(nèi)容修改并已經(jīng)暫存。現(xiàn)在需要撤銷

1655892465295_9.jpg

  此時(shí)在Git Bash 中執(zhí)行 `git status`看效果。

1655892477003_10.jpg

  上面有提示我們?nèi)绾芜M(jìn)行撤銷暫存,現(xiàn)在我們撤銷readme.txt的暫存:

1655892488750_11.jpg

  3)已提交撤銷

  當(dāng)前知識(shí)點(diǎn)能夠解決你在以后遇到的如下問(wèn)題,

  1. 想要查看歷史提交版本信息

  2. 出于某些原因,想要將代碼回撤重置到指定版本

  我們可以使用 git reset 命令來(lái)進(jìn)行版本回退,而且可以指定退回到之前某一次提交的版本

  命令:

  ```

  git reset [--soft | --mixed | --hard --keep] [HEAD|版本號(hào)]

  ```

  下面要完成以下操作:

  1)重置到上一個(gè)版本(當(dāng)前提交撤銷)

  命令:`git reset --hard HEAD^`

  HEAD參數(shù)說(shuō)明:

  - `git reset --hard HEAD` 撤銷暫存內(nèi)容

  - `git reset --hard HEAD^` 撤回到上一個(gè)版本

  - `git reset --hard HEAD^^` 撤回到上上個(gè)版本

  - 以此類推

  如果要回退到指定版本,建議用下面的方式。

  2)重置指定版本

  命令:

  1. 查看版本號(hào)命令

  `git reflog`

  2. 按照版本號(hào)進(jìn)行重置

  `git reset --hard 版本編號(hào)`

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!