我在Visual Studio中从主分支做了一些代码更改,并试图在TortoiseHG的新分支中提交更改,但显然我意外地将更正提交给了主枝。我没有将更改推送到远程存储库,但如果我尝试对更改执行“Backout”,则会收到错误消息“无法在不同的分支上取消更改”,尽管它明确指出已将更改提交给主要分支。如何“撤消”本地提交到错误的分支
有谁知道为什么我得到这个错误信息,以及如何将更改移动到正确的分支?
我在Visual Studio中从主分支做了一些代码更改,并试图在TortoiseHG的新分支中提交更改,但显然我意外地将更正提交给了主枝。我没有将更改推送到远程存储库,但如果我尝试对更改执行“Backout”,则会收到错误消息“无法在不同的分支上取消更改”,尽管它明确指出已将更改提交给主要分支。如何“撤消”本地提交到错误的分支
有谁知道为什么我得到这个错误信息,以及如何将更改移动到正确的分支?
我能够通过在提交中备份所有文件,在TortoiseHG中添加扩展名“eol”和“mq”,右键单击草稿分支并选择“修改历史 - >条带”来解决此问题。 ..“。之后,我只是再次添加备份的文件并将它们提交给正确的分支。
因为我是使用TortoiseHG的新手,所以我必须建议其他人对此很谨慎。
首先,您不希望退出,因为这是用于撤消推送/发布的更改。
有多种方式来做到这一点修复此:
库 - >回滚 /撤消
这将撤消您最后一次提交,并留下您的工作直接与提交的改变。然后您可以重新确认选择新的分支名称。
如果由于某种原因回滚/撤消不起作用:
只要你的变化是还没有推到其他地方有两个选项。
a)使用hg rebase
移动一个变更及其所有后代的另一变更的顶部:
hg rebase -s FIRST_CHANGESET_TO_MOVE -d DESTINATION
二)不太推荐的方法,如果你想撤销一次提交和避风港”,这只能从此之后拉或承诺任何东西,都是使用hg rollback
。但即使在这些情况下,hg rebase
似乎更容易使用。
在提交错误的分支后,我已经做了几次拉,这就是为什么确认消息显示“回滚到修订xxxx(撤消拉)”?我可以保持撤消,直到文字说“回滚到修订xxxx(撤消提交)”?我也想确保我只更新我的本地工作目录,是这里的情况吗? –
是&&否 - 多次回滚对我无效&&查看阶段列 - 如果它不公开,那么提交可以安全地修改。 – Tom