git回滚

作者: 那小白 | 来源:发表于2018-08-03 11:16 被阅读0次

方法一,删除远程分支再提交

①首先两步保证当前工作区是干净的,并且和远程分支代码一致

 $ git co currentBranch

 $ git pull origin currentBranch

 $ git co ./

②备份当前分支(如有必要)

 $ git branch currentBranchBackUp

③恢复到指定的commit hash

 $ git reset --hard resetVersionHash //将当前branch的HEAD指针指向commit hash

 ④删除当前分支的远程分支

$ git push origin :currentBranch $ //或者这么写git push origin --delete currentBranch

⑤把当前分支提交到远程

$ git push origin currentBranch

方法二,强制push远程分支

①首先两步保证当前工作区是干净的,并且和远程分支代码一致

 ②备份当前分支(如有必要)

③恢复到指定的commit hash

$ git reset --hard resetVersionHash

 ④把当前分支强制提交到远程

 $ git push -f origin currentBranch

方法三,从回滚位置生成新的commit hash

①首先两步保证当前工作区是干净的,并且和远程分支代码一致

 ②备份当前分支(如有必要)

 ③使用git revert恢复到指定的commit hash,当前分支恢复到a>3版本(见下图) a)此方法会产生一条多余的commit hash&log,其实1c0ce98和01592eb内容上是一致的 b)git revert是以要回滚的commit hash(1c0ce98)为基础,新生成一个commit hash(01592eb) $ git revert resetVersionHash

 ④提交远程分支

 $ git push origin currentBranch

方法四,从回滚位置生成新的分支merge

①首先两步保证当前工作区是干净的,并且和远程分支代码一致

②备份当前分支(如有必要)

③把当前工作区的HEAD指针指向回滚的commit hash(注意不是branch的HEAD指针) Notice:这个时候工作区HEAD没有指向分支,称为匿名分支detached HEAD 这个时候提交commit后无法保存状态,git中的任何提交必须是在当前工作区HEAD所在分支的HEAD上进行push hash入栈,所以HEAD必须是属于某个分支的HEAD位置,提交才生效。

 $ git co resetVersionHash

 ④以该commit hash创建一个新的分支

 $ git co -b newRevertedHash

 ⑤切换到当前分支,合并newRevertedHash。

 $ git co currentBranch

 $ git merge newRevertedHash

 ⑥进行代码diff,完成代码回滚,push到远程currentBranch Notice: 也可以直接hotfix,从要回滚的地方直接重新打包一个新tag包,发版本hotFixVersion即可。

相关文章

  • git

    显示 git push将会提交的 commit 信息 git 回滚 本地回滚 远程回滚 git diff1.sta...

  • 谈谈 Git 代码回滚

    本文讲述了如何使用 git rebase -i 及 git cherry-pick 实现代码回滚。代码回滚属于高危...

  • git 总结

    参考资料:git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚 git 删除分支 1. 本地分支:git ...

  • Git回滚

    若是master,push --force受保护,需关闭受保护设置

  • Git - 回滚

    回滚命令 场景回滚某个commit回滚到某个commit恢复到与HEAD一致回滚Merge回滚最新的Merge回滚...

  • git回滚

    方法一,删除远程分支再提交 ①首先两步保证当前工作区是干净的,并且和远程分支代码一致 $ git co curre...

  • git回滚

    一、 git回滚到任意版本 查看历史提交的log中的版本号$ git log -3 查看最近3次提交记录 回滚到...

  • git回滚

    git作为版本控制肯定是常见的了,对于git有一个版本回滚的功能是我们在开发过程中应该用到比较多,掌握它对于我们开...

  • git 回滚

  • git 回滚

    项目上线头一天下午,把JIRA上面的bug都一一改正之后,准备提交代码下班回家好好吃把鸡,当我按照往常git ad...

网友评论

      本文标题:git回滚

      本文链接:https://www.haomeiwen.com/subject/slryvftx.html