Mercurial使用笔记(3)
2016-04-08 20:47
417 查看
记录使用Mercurial中遇到的问题和疑惑(3)
命令: – 出错不就命令
hg revert
hg revert(回复, 使回复原状)有两种用途:
1. hg revert . // 最常用的revert命令,”.”表示当前working copy中的所有修改。如果只想revert某个文件,把”.”换成文件路径即可, 删除working copy中所有修改。revert之后,会在被revert文件旁边创建备份文件,后缀名是.orig,所以可以放心大胆的revert,不用害怕修改找不回来。 引用:http://anotherwayaround.blog.163.com/blog/static/1900662202012326104313552/
这里的用途用于清除working copy中某个(多个)文件的更改
2. hg revert -r 12345 –all // revert版本12345之后所有的修改,注:版本12345本身的修改不会被revert。引用:http://anotherwayaround.blog.163.com/blog/static/1900662202012326104313552/
hg revert -r xx [file] # Restores the working copy to the revision xx state
**注:这里的用途是把working copy中的某个(多个)文件从local repo回退到一个特定版本,但是不包含xx版本,就是回退到xx版本的下一个版本。我自己感觉把这说成回退到某个版本更加容易理解。这时文件的内容就是xx版本的内容。 回退之后,我们就可以重新提交我们的内容,这可以处理我们提交了,但是发现有问题,这样我们就可以回退,修改后重新提交。
但是这里有一点需要注意:这个功能不是单独去掉某一个版本的改动,而是去掉了那个版本之后所有版本的改动,如果以后已经提交了很多个版本,那么这个功能就不太实用了
还有一点需要注意:这里的回退只会影响到working copy,如果不提交是不会影响local repo和remote repo**
hg rollback
roll back the last transaction (DANGEROUS危险动作) (DEPRECATED)把local repo最新一个版本的提交的内容返回working copy,我们可以修改后重新提交。
撤销最后一次提交, 前提是你还没有把它推送 (push) 给其他人
hg backout(撤销)
有时你可能会发现, 早在几个月前, 你犯了个错误:Mercurial 能够帮助你拆除 (backout) 早些时候的变更集. 它会分析变更集, 得出 反向变更集, 并应用于你当前的工作目录. 让我们试着拆除 2 号历史版本.
这类问题很可能会导致本次变更无法合并. 这种情况下, 你得手工解决合并冲突.
引用:http://bucunzai.net/hginit/fixing/#hg-backout
这里跟上面的revert命令有很大的区别,backout这个命令,是单独撤销某个版本的改动,这个命令不会影响后面提交的版本,包括同一个文件的提交,这样我们就可以用这个命令单独去掉某个版本改动,而不用直接回退到某个版本,因为这个命令保留了后续版本的更改,所以很容易导致冲突,需要手动去解决冲突。
相关文章推荐
- 使用hexo在github上搭建博客
- 【学习笔记】3D图形核心基础精炼版-7:stage3D实战-范例工程1
- 算法训练 最大的算式(动态规划)
- [2] CSS&javascript(基本语法及使用)
- 例解 autoconf 和 automake 生成 Makefile 文件
- 单点触控
- 【Error】InterfaceError (0, '')
- 2004: [Hnoi2010]Bus 公交线路
- AFNetworking3同步请求另类解决方案(阻塞线程)
- Could not get a resource from the pool
- CF251D Two Sets 异或高斯消元找最优解
- 动态连通性:union-find算法(常规搜索、树状触点搜索、加权树搜索的算法分析)
- 第三方微信授权登录的iOS代码分析
- 局域网跨机访问WCF服务出错本机访问正常的问题
- Kubernetes和OpenStack到底是什么关系?
- Node.js中,获取req请求的原始IP
- AndroidStudio 进行单元测试
- 4、MongoDB集合里面文档的插入,查找,更新操作
- 【蓝桥杯】历届试题 剪格子(未完成)
- Angularjs学习笔记2_添加删除DOM元素