【发布时间】:2020-07-03 10:36:06
【问题描述】:
我使用 ant 脚本来部署我的应用程序。然而,在部署之前,我通过将它们提交到另一个分支来保留任何未提交的更改,但在我当前的分支中保持它们未提交。我通过搁置更改、更新到另一个分支、取消搁置它们(但使用 --keep)、提交、更新回原始分支并再次取消搁置(但不使用 --keep)来做到这一点。
这个问题是双重的。首先,搁置会改变我的项目内容,这在某些情况下会与我的 IDE 混淆。其次,当文件被搁置后,蚂蚁脚本中发生错误,但在它们成功取消搁置之前,我不得不手动取消搁置它们,这很痛苦。与其他分支之间的更新也是如此。
有更好的方法吗?
-- 编辑--
发布此内容后,我设法实施了一个更好但并不理想的解决方案。我检查是否有本地未提交的更改,如果有,我将它们搁置,将 hg 中的当前分支模拟为另一个分支(使用 debugsetparent),在工作目录中提交任何更改(现在这实际上是与接受来自“其他”的所有更改但不随时更新的原始分支),取消搁置先前搁置的更改,提交它们并将 hg 中的当前分支模拟为原始分支,将未搁置的更改保留为本地未提交的更改.
这更好,因为我不更新到另一个分支,并且就 IDE 而言,发生的任何实际更改都是搁置/取消搁置本地更改。以前,它会受到我当前分支和另一个分支之间的所有更改的影响,但现在可以避免这种情况。
这仍然不是一个理想的解决方案。我可以完全避免搁置,但是另一个分支中的提交将包含本地更改,这些更改与两个分支之间的差异导致的任何更改捆绑在一起,任何我不喜欢这样,因为它违背了能够快速检查部署之间所做的更改。
【问题讨论】:
-
您使用的是 Tortoise 搁板还是普通的 hg 搁板?它们不一样,THG 版本的效果也不尽如人意。
-
哦,我仅将 THG 用于手动操作存储库。对于我使用 hg 的其他所有内容。
标签: mercurial tortoisehg