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 ...
随机推荐
- CallableAndFuture
Callable和Runnable的区别如下: I Callable定义的方法是call,而Runnable定义的方法是run. II Callable的call方法可以有返回值,而Runn ...
- HttpConnection方式访问网络
参考疯狂android讲义,重点在于学习1.HttpConnection访问网络2.多线程下载文件的处理 主activity: package com.example.multithreaddownl ...
- Ajax中GET和POST的区别
Get方式: 用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的 ...
- C#常用日期格式处理转换[C#日期格式转换大全
DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21:25 Label2.Text = dt.ToFile ...
- Oracle插入时间
现象:Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹配 解决方法: 这个错误一般出现在时间字段上,即你插入的时间格式和数据库现有的时间格式不一致,解决的方法是格式化你 插 ...
- Behavior Designer中Wait节点的坑
某一组行为放在并行节点下,并且包含Wait节点动作.当等待时间不达到时它会返回Runing 造成整个行为树阻塞 应该考虑写一个CD时间装饰器来解决此类问题,当CD时间未到返回Failure
- C语言typeof详解 offsetof
http://blog.chinaunix.net/uid-28458801-id-4200573.html 前言: typeof关键字是C语言中的一个新扩展,这个特性在linux内核中应用非常 ...
- SharePoint自动化系列——Add/Remove "Record" from items
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 目的:批量的将SharePoint items变成records或者将records变成普通的it ...
- html的<marquee></marquee>标签实现滚动效果
页面的自动滚动效果,可由javascript来实现,但是今天无意中发现了一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用m ...
- PLsql设置
1.类SQL PLUS窗口:File->New->Command Window,这个类似于oracle的客户端工具sql plus,但比它好用多了. 2.设置关键字自动大写:Tools-& ...