美文网首页
Git提交错误后如何回退

Git提交错误后如何回退

作者: wangmin | 来源:发表于2016-02-27 16:06 被阅读4913次

在使用Git的时候需要维护一个自己的分支模型,推荐使用: http://nvie.com/posts/a-successful-git-branching-model/

总体说来有一下两点:

  • 在中央仓库保存两个永久分支,master && develop,master分支是发布分支,每次发布就是从master上打包发布,程序是不允许直接在master提交代码,只能通过其他分支合并到master分支。develop分支是开发分支,当develop上得源代码达到一个稳定状态的时候就可以把develop的代码合并到master上。
  • 除去master和develop这两个永久分支,还存在一些暂时的分支。
    • 线上的紧急Bug需要修复,这个时候就需要创建一个hotfix分支,这个分支是从master上检出,完成修复后双向合并到master和develop上,保证develop与master代码的同步,合并完后删除hotfix 分支。
    • 还比如,要开发一个新功能,这个时候需要创建一个feature分支,这个分支就从develop上检出,可以把这个分支推到服务器上让更多地人参与开发,当然也可以不推倒服务器上,只在本地开发,开发完成后合并到develop上。

下面这个是我们项目中的网络提交图:

这只是简单介说了一下分支模型,具体的介绍可以参考上面给出的链接。如果在提交的过程中直接在master上做了修改,或者不小心把master合并到了develop分支上,如何回退?

直接在master分支上修改代码并提交如何回退

如果直接在master分支上做了修改并提交到了服务器,这种操作在上面所描述的分支模型中是严格禁止的,如果出现这种情况如何回退:

  • 在本地切到master分支下,使用 git chenkout -b temp-branch,这样就从master分支上创建了一个新的临时分支,并且切到这个分支下。
  • git reset –hard commitpoint, 这个commitpoint代表你要回滚的提交点
  • git branch -D master , 这个操作是删除本地master分支
  • git push origin :master, 删除远程服务器上得master分支,这里的删除就是推送一个空分支到远程master上。但是注意的是远程master可能是一个default设置,这样服务器是不允许删除master分支,这个时候就需要在项目设置上将default标签切换到另一个分支上,上面的删除操作才能成功
  • 将远程分支删掉后需要把回滚后的分支推到远程服务器上,git push origin temp-branch:master,这样就能完成回退操作
  • 最后是删除temp-branch 分支,git checkout master, git branch -D temp-branch.

相关文章

  • Git提交错误后如何回退

    在使用Git的时候需要维护一个自己的分支模型,推荐使用: http://nvie.com/posts/a-succ...

  • git版本回退

    前言:我们都知道,git可以为我们每次提交的代码保存进度。那么当我们不小心进行了错误的代码提交之后,如何回退到之前...

  • 2020-03-03

    Git回退到某个提交,回退后再恢复到回退版本 首先通过git log 查看提交的历史记录,查看commit id,...

  • git版本回退

    本地回退 如果没有通过 git push 提交到远程。 远程回退 如果通过 git push 提交到远程,则需要,...

  • 远程仓库版本回退

    有两种方法:git reset 和 git revert 一. 问题 如果提交了一个错误的版本,怎么回退版本?...

  • Git 回退到指定版本

    查看 Git 的历史版本号 回退到某个历史提交版本 推送到远端分支 在执行 git reset 后本地已经回退到指...

  • git merge了错误分支,如何优雅的回退到merge前的状态

    git merge了错误分支,如何优雅的回退到merge前的状态? 答 git merge --abort

  • git 回退到某次提交

    回退命令: git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前$ ...

  • Git 利用rebase 回退远程仓库

    查看提交历史: 当前HEAD在e2bb318的位置, 这个是错误的commit, 想要回退掉这个提交. 使用git...

  • git 命令常用总结

    不积跬步无以至千里 一、提交代码遇到问题: 回退问题: 1、当你git add 提交代码后想回退掉文件(commi...

网友评论

      本文标题:Git提交错误后如何回退

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