git的回滾

使用git 管理代碼比較方便。當代碼提交後發現問題時,想要回滾,要怎麼做呢?

git 有 revert 和 reset 兩種方式。但用途並不一樣:

git revert 撤銷

git reset 回退。

例子:

如果先後做了3次提交 commitA、commitB、commitC,分別改了A文件、B文件、C文件。

如果在git中查看


 
  1. commitC

  2. commitB

  3. commitA

 

當前是commitC。

撤銷:使用git revert

 


 
  1. git revert commit-id

  2. // 其中,commit-id是目標commit的log代號,就是每次提交會自動生成的很長一串的字符代號,取前7位即可

 

想要撤銷B文件的更改

git revert commitB

 

想要撤銷C文件的更改

git revert commitC

 

所以git revert 是撤銷某次commit的更改,和其他commit無關。

代碼出問題了,想要回滾到之前版本怎麼辦?

回滾:使用git reset 

 

git reset --hard HEAD~n

 

其中 HEAD 表示當前位置,即最後一次提交。

回滾到往前幾次的提交呢? 例如,

回滾到前一次


 
  1. git reset --hard HEAD^ // ^表示往前一次

  2. git reset --hard HEAD~1

回滾到前2次


 
  1. git reset --hard HEAD^^ // ^表示往前一次

  2. git reset --hard HEAD~2

回滾到前100次

git reset --hard HEAD~100

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章