1. 程式人生 > 其它 >GIT實操手冊 —— 如何做到精準回滾

GIT實操手冊 —— 如何做到精準回滾

技術標籤:Gitgitjavascriptnode.jscmd

目錄

一、如何將在工作區中修改的檔案進行回滾(git checkout)

恢復單個檔案

git checkout -- README.md

恢復所有檔案

git checkout .

編譯器:VSCcode 原始碼管理

二、如何將暫存區修改的檔案進行回滾(git reset)

恢復暫存區指定檔案到工作區

git reset README.md

恢復暫存區所有的檔案到工作區

git reset

編譯器:VSCcode 原始碼管理

三、如何將提交後的檔案進行回滾(git reset、git revert)

將剛提交的版本回滾到未提交狀態

git reset HEAD^
git reset @^

Tips:這個命令是將提交後的檔案回滾到工作區的狀態,如果修改之後需要再次git add .

回滾到以前指定版本

git reset commitID
git revert -n commitID

四、遠端機器如何進行回滾

方法一:先git reset回滾到本地,然後再強制push到遠端。

不建議,可能沒有許可權,危險操作

git reset commitID
git push -u origin master -f

方法二:先git revert將有問題的版本進行修正,生成新的版本,然後psuh到遠端分支。

相當於打補丁,建議使用

git revert -n commitID
# 手動處理衝突
     # if 處理衝突完畢
     git revert --continue
     # if 退出不處理衝突
     git revert --abort
# 進入vim介面 編寫commit describe並儲存
git push origin master

git reset VS git revert

上面回滾中用到了 git resetgit revert 兩種方法,下面進行一下分析:

比較相同點不同點
git reset可以進行回滾操作git reset回滾之後commitID後面的版本就沒有記錄了。
如果想要回滾到未來節點,要知道未來節點的commitID
所以在回滾前最好先知道當前的commitID
git revert可以進行回滾操作git revert回滾操作之後,會進行檔案的手動去留,
然後新生成一個版本號,之前的提交還是在的。