今天有几个文件改在了其他分支上。需要回滚。

参考了下面两篇文章:

Link    Link

简单讲,分多个不同的阶段:

1. 用git status命令看,发现是unstaged,那么就是只在working tree里面。

这时候,git checkout <文件名>,就可以了。

当然,我试了几次没成功,看起来是需要对branch指定清楚版本才行,未解。

后来是进行了下面的 git reset . 之后,继续使用

git  reset 5c5feea2d8854b3b7d7be3c03764d154429b872a OnetimeRefund.php

才可以的。

2. 已经git add到stage里面的文件,需要先使用如下命令:

git reset .

然后已经staged的文件会恢复为未stage。

3. 本地repository的回滚:

git reset --hard HEAD~3 (回滚3个版本,但是如果已经提交到远程,那么push会报错)

4. 远程repository的回滚:

git revert 51fa57da7c5352ddb(后面这个是git log里面能够查到的)

另外,关于git merge 是否加 --no-ff 的选项,通过git log 加上图形选项,这个就有直观的理解了:

以下是不加--no-ff的git log图形化内容(icode的merge也是默认不加--no-ff的):

git log --graph --pretty=oneline --abbrev-commit

*   3361e4e Merge branch 'onetime_refund_update' into master
|\
| * a36e7e5 Update OnetimeRefund.php for new Refund interface
| * 81149df Merge branch 'trade' into develop
| |\
* | \ 442087b Merge branch 'random_code_new' into master
|\ \ \
| * | | c6664bd modify expire time from 7 to 35 days
| * | | d52c212 modify expire time from 7 to 34 days
| * | | 3399d42 Merge remote-tracking branch 'remotes/origin/master' into random_code_new
| |\ \ \
| |/ / /
|/| | |

而普通的git log大概看不出来:

commit 3361e4ec3dc9d7b4fb2faf6bdcdcc6975bb88d0e
Merge: 442087b a36e7e5
Author: xxx
Date: Wed Dec 14 15:20:06 2016 +0800 Merge branch 'onetime_refund_update' into master commit a36e7e5cc51b3c5405a486afd35df26a01dd9dd4
Author: xxx
Date: Wed Dec 14 14:56:20 2016 +0800 Update OnetimeRefund.php for new Refund interface Change-Id: Ide737112a7c5ceb9077aa34406b453ed2ea2a109 commit 442087bed0c62f3e5f738b906f7764143cf49fee
Merge: 379ce39 c6664bd
......


git本地文件回滚操作的更多相关文章

  1. Git撤销&amp;回滚操作

    开发过程中.你肯定会遇到这种场景: 场景一: 糟了.我刚把不想要的代码.commit到本地仓库中了.可是还没有做push操作! 场景二: 彻底完了.刚线上更新的代码出现故障了.须要还原这次提交的代码! ...

  2. Git撤销、回滚操作

    git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的. 暂存区:已经 git add xxx 进去, ...

  3. git 本地文件里内容 操作记录

    本地环境文件合并分支(以下的都分别 commit提交了的) [一.分支[追加] 和 [新增] 新信息 合并主线  情景] 分支内容: dr.find_element_by_id("su&qu ...

  4. Git撤销&回滚操作

    https://blog.csdn.net/ligang2585116/article/details/71094887 开发过程中,你肯定会遇到这样的场景: 场景一: 糟了,我刚把不想要的代码,co ...

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

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

  6. Git撤销&回滚操作(git reset 和 get revert)

    转自:https://blog.csdn.net/asoar/article/details/84111841 git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 ...

  7. Jenkins实现生产环境部署文件的回滚操作(Windows)

    由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一 ...

  8. git 版本库回滚(转载)

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

  9. git 的版本回滚

    当用git clone 复制远程代码库到本地时,使用 git branch 只能看到默认库(master),当远程库有多个分支时,可以使用 git branch -a 查看全部的分支, 然后git c ...

随机推荐

  1. [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文)

    要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html)<script language="javascri ...

  2. preparedStatement和Statement 有什么不一样

    1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象.    2.作 ...

  3. WPF中viewmodel层怎样得到view层的TabControl控件对象?

    View层: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: ...

  4. java安全令牌生成器

    SecureRandom sr = new SecureRandom(); byte[] bytes = new byte[8]; bytes = sr.generateSeed(8); System ...

  5. dubbo源码之三——dubbo重构

    dubbo版本:2.5.4 转自:http://javatar.iteye.com/blog/1041832

  6. DataGridView的自定义列排序

    1,将需要进行排序的列做属性的设置 this.colUserName.SortMode = DataGridViewColumnSortMode.Programmatic; 2,添加列的事件 //点击 ...

  7. Python3基础 双星号 求一个数的几次幂

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. Visual Studio安装项目中将用户选择的安装路径写入注册表的方法[转]

    在你的工程名上右击 -> View ->Registry(视图 -> 注册表) 在你需要写注册表的主键下,例如我注册firefox插件的例子是: (1)右击HKEY_CURRENT_ ...

  9. R: NULL, NA, and NaN

    NaN (“Not a Number”) means 0/0 NA (“Not Available”) is generally interpreted as a missing value and ...

  10. [原创]VB注册机独辟蹊径-----注册机也可以这样写

    近段时间接了个项目,是关于一个称重传感器的上位机系统,需要一机一码针对不同的客户机分别注册,第一次注册完后,下次打开后不必注册. 刚开始想用正规的注册机办法去完成,搜罗了半天,发现现在大部分的硬盘注册 ...