【发布时间】:2014-06-13 01:44:42
【问题描述】:
我使用两个 mercurial 存储库,一个用于当前稳定版本,一个用于新开发。我不小心在当前稳定的仓库中开发了一个新功能,现在我想将更改提交到新的开发仓库,not 提交到当前的稳定仓库。有没有办法做到这一点?我尚未提交任何更改。
【问题讨论】:
标签: mercurial commit tortoisehg
我使用两个 mercurial 存储库,一个用于当前稳定版本,一个用于新开发。我不小心在当前稳定的仓库中开发了一个新功能,现在我想将更改提交到新的开发仓库,not 提交到当前的稳定仓库。有没有办法做到这一点?我尚未提交任何更改。
【问题讨论】:
标签: mercurial commit tortoisehg
使用
hg diff >changes.patch
为您的更改创建补丁。然后,进入另一个 repo,更新您需要更改的位置,然后发布
hg import --no-commit changes.patch
使用正确的文件夹到changes.patch 然后你应该在另一个仓库的同一个地方,也是。
但是,如果两个存储库是等效的,那么无论您是从当前存储库还是另一个存储库提交和推送您的更改,它们最终都可以在两者上复制,因此请考虑跨存储库移动更改的必要性。使用分支来处理不同的功能开发。
【讨论】:
commiting 稳定 repo 中的更改,pushing 将其用于开发,然后在 stable repo 中使用backout。我的解决方案可以看到的唯一负面问题是通过否定提交污染历史记录。但是,您的解决方案要干净得多。