From:http://www.cnblogs.com/qualitysong/archive/2012/11/27/2791486.html

From: http://www.tech126.com/git-reset/

git 版本库回滚:指将版本库某分支回退到之前的某次提交:commit-id

一、本地版本库回滚

git reset --hard commit-id    //回滚到之前的commit-id,将commit-id之后的提交删除

git reset --hard HEAD~    //将最近3次提交回滚

二、远程版本库回滚

应用场景:自动部署系统发布后出现问题,需回滚到某次commit,再重新发布。

原理:先将本地分支回退到某次commit,再删除远程分支,最后重新push本地分支到远程版本库。

操作步骤:

、git checkout develop    //develop为要重置的分支名

、git pull

、git branch develop-backup  //备份本地分支

、git reset --hard commit_id   //重置本地分支到某次提交

、git push origin :develop    //删除远程develop分支

、git push origin develop    //将重置后的本地分支推送到远程版本库,在远程版本库新建develop分支

、git push origin  :develop-backup  //删除备份的分支

注意事项

如果使用了gerrit作为远程代码中心库和code review平台,需要确保操作git的用户具备分支的push权限,并选择了Force Push选项。

另外,gerrit中心库是个bare库,将HEAD默认指向了master,因此master分支是不能进行删除操作的,最好不要选择删除master分支的策略,换用其他分支。如果一定要这样做,可以考虑到gerrit服务器上修改HEAD指针。建议最好不要删除master分支。

参考文档:https://review.typo3.org/Documentation/access-control.html#category_push

==========================

reset命令的三种用法:

1、git reset --mixed

此为默认方式,不带任何参数,回退到某个版本,只保留源码,回退commit和index信息。

2、git rest --soft:

回退到某个版本,只回退commit信息,不恢复index file。如果要重新提交,执行commit即可。

3、git reset --hard

彻底回退到某个版本,本地源码与将与回退的版本保持一致。

如果修改某些内容,并push到远程版本库,此时,执行git reset,只会将本地版本库进行版本回退,远程版本库不会发生变化。

当执行git pull后,远程版本库的内容将再次与本地版本库merge。

此时,有以下方法可实现远程版本库回退:

1、直接在远程版本库目录下,执行 git reset --soft commit-id. 注意:在远程版本库不能使用mixed或hard参数。

2、在本地删除远程分支,然后reset到指定commit-id,再push本地分支到远程。

3、执行 git reset --hard commit-id,然后push: git push origin branch-name -f

第三种方法参考资料:http://zhuqingcode.github.io/git/2014/05/15/github-a-bug-commit.html

git 版本库回滚(转载)的更多相关文章

  1. GIT版本库回滚【图文版】

    git 版本库回滚,在实际开发过程中总会遇得到   1. 先找出需要回滚的commitid     git log -3   2. 重置本地版本库到指定commitid, 注意:本地改动将丢失     ...

  2. git本地代码库回滚(webstorm下)

    git本地代码库回滚(webstorm下) 1. 场景 添加了一个文件[file-for-test.js]到git的控制下(并没有push到远程分支上) 进行了三次修改,并分别进行了三次commit( ...

  3. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  4. 【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  5. 【转】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    转载自:http://m.blog.csdn.net/blog/lihongli528628/45483463 [git 删除本地分支] git branch -D br [git 删除远程分支] g ...

  6. git 远程分支回滚

    git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...

  7. git远程代码库回滚(webstorm下)

    git远程代码库回滚(webstorm下) 1. 场景 添加了一个文件[file-for-test.js]到git的控制下 进行了三次修改,并分别进行了三次commit,最后进行了一次push git ...

  8. git如何正确回滚代码

    git如何正确回滚代码 方法一,删除远程分支再提交 ①首先两步保证当前工作区是干净的,并且和远程分支代码一致 $ git co currentBranch $ git pull origin curr ...

  9. Git误操作 git reset强制回滚 恢复commit方法

    参考: 找回Git中丢失的Commit Git误操作 git reset强制回滚 恢复commit方法 使用Git时,常有误操作,在Commit之后又执行了git reset --hard HEAD强 ...

随机推荐

  1. 【转】db/dbm

    db,表示一个相对值.当计算A的功率相比于B大或小多少个dB时,可按公式10lg A/B计算.例如:A功率比B功率大一倍,那么10lg A/B = 10 lg 2 = 3dB,也就是说,A的功率比B的 ...

  2. 论文笔记之:From Facial Parts Responses to Face Detection: A Deep Learning Approach

    From Facial Parts Responses to Face Detection: A Deep Learning Approach ICCV 2015 从以上两张图就可以感受到本文所提方法 ...

  3. Js文本溢出自动添加省略号ellipsis

    原文: ellipsis: function(value, len, word) {         //判断value有没有超过指定长度         if (value && v ...

  4. android http 和https请求

    private static final int CONNECTION_TIMEOUT = 10000; public static String doHttpGet(String serverURL ...

  5. Avoiding PostgreSQL database corruption

    TL;DR: Don't ever set fsync=off, don't kill -9 the postmaster then deletepostmaster.pid, don't run P ...

  6. pip使用报错【cannot import name HTTPSHandler】

    python2.7,报错如下: Traceback (most recent call last): File "/usr/local/bin/pip", line 9, in & ...

  7. http,ftp

    HTTP和FTP的区别 标签: ftpFTPhttpHttpHTTP 2012-12-13 19:51 10544人阅读 评论(1) 收藏 举报  分类: 网络(2)    目录(?)[+]   今天 ...

  8. 在svg里面画虚线

    使用stroke-dasharray="3 2"  属性,其中3和2分别表示画的长度和间隙的长度 比如 <line x1="0" y1="5&q ...

  9. shell之脚本片断

    16. 以下是平台信息 CentOS Linux release 7.1.1503 (Core) Linux mysql-dev1 3.10.0-229.el7.x86_64 #1 SMP Fri M ...

  10. OpenJudge计算概论-点和正方形的关系【判断点是否在正方形内部】

    /*======================================================== 点和正方形的关系 总时间限制: 1000ms 内存限制: 65536kB 描述 有 ...