我有一个Mercurial存储库,我只在本地使用...这是我的个人用法(所以我不会"推"到任何地方).
我提交了3个文件,但之后我明白我应该提交4个文件...
有没有办法"回滚"我的最后一次(最新的,只有一次)提交,并"重新发送"它与正确的文件?
(我不知道为什么,但我的" 修改当前修订版 "选项不活动,所以我不能用它...)
什么是等效的mercurial命令(或工作流程)
git reset --mixed HEAD^
Run Code Online (Sandbox Code Playgroud)
要么
git reset --soft HEAD^
Run Code Online (Sandbox Code Playgroud)
即我希望保持工作树完整,但让存储库回到最后一次提交之前的状态.令人惊讶的是,我没有在stackoverflow或google上找到任何有用的东西.
请注意,我不能使用
hg rollback
Run Code Online (Sandbox Code Playgroud)
因为我在最后一次提交后使用HistEdit完成了一些历史记录重写.
补充说明: 经过一些重新定位和历史编辑后,我最终得到了A < - B < - C. 然后我用HistEdit将B和C压在一起,得到A < - C'.现在我想拆分提交C'(我在B中提交了错误的文件).我认为最简单的方法是将存储库恢复到状态A(技术上从未在存储库中存在,因为所有的重新定位和历史编辑事先)和工作树到状态C'然后做两个提交.
Mercurial Eclipse插件中的菜单项rollback,backout和strip之间有什么区别?
我是否可以删除本地存储库中的提交而无需使用这3个命令之一修改工作区中的文件?
或者是否有另一种解决方案如何提交并推动修复项目的另一部分?我目前的工作尚未完成,我无法推动它.但我必须快速修复项目的另一部分.
我看到的唯一解决方案是创建第二个工作区.但这看起来对我来说太过分了.
我不小心提交了我的本地存储库.更具体地说,当我打算一次提交一个文件时,我同时对大量文件进行了更改.
如何撤消此提交并将我的工作副本恢复到提交之前的状态,这样我就可以做我应该做的事情了?
提交后我没有推或拉或其他任何东西.
您可能怀疑这是重复的,因此我将解释为什么以下问题不同,或者不回答我的问题:
对此问题的回答表明,您可以执行此操作hg commit --amend,但不解释如何执行此操作或举例说明.mercurail帮助也没有为我说明.
国家使用hg rollback.这个命令显然已被弃用了,我还是尝试使用它,但是我得到了混乱:没有可用的回滚信息.遗憾的是,这不起作用,因为这将是一种非常直观的方式来实现我想要的.
我不小心做了一个"hg commit --amend"而不是一个提交.如何在修改之前回滚提交?
我有三个提交1,2和3.我怎么能回滚2和3仍然保留它们的更改文件?
1---2---3
=> 1 and changed files of 2 and 3
Run Code Online (Sandbox Code Playgroud)