git本地文件回滚操作
今天有几个文件改在了其他分支上。需要回滚。
参考了下面两篇文章:
简单讲,分多个不同的阶段:
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本地文件回滚操作的更多相关文章
- Git撤销&回滚操作
开发过程中.你肯定会遇到这种场景: 场景一: 糟了.我刚把不想要的代码.commit到本地仓库中了.可是还没有做push操作! 场景二: 彻底完了.刚线上更新的代码出现故障了.须要还原这次提交的代码! ...
- Git撤销、回滚操作
git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的. 暂存区:已经 git add xxx 进去, ...
- git 本地文件里内容 操作记录
本地环境文件合并分支(以下的都分别 commit提交了的) [一.分支[追加] 和 [新增] 新信息 合并主线 情景] 分支内容: dr.find_element_by_id("su&qu ...
- Git撤销&回滚操作
https://blog.csdn.net/ligang2585116/article/details/71094887 开发过程中,你肯定会遇到这样的场景: 场景一: 糟了,我刚把不想要的代码,co ...
- Git误操作 git reset强制回滚 恢复commit方法
参考: 找回Git中丢失的Commit Git误操作 git reset强制回滚 恢复commit方法 使用Git时,常有误操作,在Commit之后又执行了git reset --hard HEAD强 ...
- Git撤销&回滚操作(git reset 和 get revert)
转自:https://blog.csdn.net/asoar/article/details/84111841 git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 ...
- Jenkins实现生产环境部署文件的回滚操作(Windows)
由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一 ...
- git 版本库回滚(转载)
From:http://www.cnblogs.com/qualitysong/archive/2012/11/27/2791486.html From: http://www.tech126.com ...
- git 的版本回滚
当用git clone 复制远程代码库到本地时,使用 git branch 只能看到默认库(master),当远程库有多个分支时,可以使用 git branch -a 查看全部的分支, 然后git c ...
随机推荐
- [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文)
要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html)<script language="javascri ...
- preparedStatement和Statement 有什么不一样
1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象. 2.作 ...
- WPF中viewmodel层怎样得到view层的TabControl控件对象?
View层: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: ...
- java安全令牌生成器
SecureRandom sr = new SecureRandom(); byte[] bytes = new byte[8]; bytes = sr.generateSeed(8); System ...
- dubbo源码之三——dubbo重构
dubbo版本:2.5.4 转自:http://javatar.iteye.com/blog/1041832
- DataGridView的自定义列排序
1,将需要进行排序的列做属性的设置 this.colUserName.SortMode = DataGridViewColumnSortMode.Programmatic; 2,添加列的事件 //点击 ...
- Python3基础 双星号 求一个数的几次幂
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- Visual Studio安装项目中将用户选择的安装路径写入注册表的方法[转]
在你的工程名上右击 -> View ->Registry(视图 -> 注册表) 在你需要写注册表的主键下,例如我注册firefox插件的例子是: (1)右击HKEY_CURRENT_ ...
- R: NULL, NA, and NaN
NaN (“Not a Number”) means 0/0 NA (“Not Available”) is generally interpreted as a missing value and ...
- [原创]VB注册机独辟蹊径-----注册机也可以这样写
近段时间接了个项目,是关于一个称重传感器的上位机系统,需要一机一码针对不同的客户机分别注册,第一次注册完后,下次打开后不必注册. 刚开始想用正规的注册机办法去完成,搜罗了半天,发现现在大部分的硬盘注册 ...