Hor*_*ux7 49 eclipse mercurial rollback
Mercurial Eclipse插件中的菜单项rollback,backout和strip之间有什么区别?
我是否可以删除本地存储库中的提交而无需使用这3个命令之一修改工作区中的文件?
或者是否有另一种解决方案如何提交并推动修复项目的另一部分?我目前的工作尚未完成,我无法推动它.但我必须快速修复项目的另一部分.
我看到的唯一解决方案是创建第二个工作区.但这看起来对我来说太过分了.
Ry4*_*ase 62
这些命令都来自Mercurial本身,并且有很多好的比较/对比帖子.但是,这里简要介绍一下:
rollback:一级撤消.将撤消最后一次拉动或提交(可能是危险的)backout:创建一个与给定提交相反的新提交.净效果是撤消,但更改仍在您的历史记录中.strip:从历史记录中删除(销毁)更改.删除变更集也会删除其所有子项,因此它只能用于截断历史记录,而不能删除切片.这三个都在这里有很好的描述:http://www.selenic.com/mercurial/hg.1.html
对于您的问题2,您可以使用strip删除最近的提交,它不会改变您的工作目录diles.
对于您的问题3,您可以轻松地对该项目的另一部分进行更改:
hg commit -m 'commit your half done work'
hg update OLDERCHANGESET # your working directory now is without the half-done-work
.. do that quickfix ...
hg commit -m 'quickfix'
hg push tip # this pushes the tip revision (latest) and its ancestors, but the half-don't work isn't an ancestor so it doesn't get pushed
hg update HALFDONEWORK # you can find the right revision number using "hg heads"
Run Code Online (Sandbox Code Playgroud)
这称为"匿名分支",这是一种非常常见的工作方式.您最终会提交半完成的功能,但您可以稍后恢复它,而不必推送它.
这对匿名分支有很好的解释:http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/#branching-匿名
| 归档时间: |
|
| 查看次数: |
33619 次 |
| 最近记录: |