Git 回滾版本


git 撤銷本地提交

情形1:只撤銷commit,但是不想將commit下的代碼撤銷

撤銷上一次的commit (commitId 可以通過 git reflog 進行查看,下面所有的HEAD~x 都可以換成相應的commitId)

  • git reset HEAD~
    或者
  • git reset HEAD~1
    或者
  • get reset commitId

如果提交了多個commit,那么可以通過修改HEAD~后的數字,如撤銷前3次的commit

  • git reset HEAD~3

情境2:撤銷commit,並且將commit下的代碼也撤銷掉

  • git reset --hard HEAD~1 或者 git reset --hard commitId

注:使用了 --hard 之后,最新的commit命令下修改的內容將會完全被撤銷,慎用。

git 撤銷遠程提交

  1. git reflog 查找需要回退的版本號
  2. git reset --hard commitId 回退到 commitId 版本
  3. git push -f 強制推送到遠程分支(因為此時本地分支滯后於遠程分支,必須-f 強制推送才行)

還有一個命令 git revert 也可以用來進行版本回退,需要特別注意是:
它會產生一個新的提交,雖然代碼回退了,但是版本是向前的。當需要回滾公共遠程分支的時候,可以使用該命令進行回滾。git revert 命令的好處就是不會丟掉別人的提交。
前面講的撤銷遠程分支是只有自己一個人提交到遠程分支的情況,還有一種情況是公共遠程分支,如果別人也提交了,這個時候就不能簡單的回滾了,否則會把別人的提交也給覆蓋掉,
這個時候就需要使用到git revert 命令了,可以查看下面的參考文章
參考文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM