【问题标题】:How to save uncommitted changes to another branch without committing on current branch(no stash or shelve)如何在不提交当前分支的情况下将未提交的更改保存到另一个分支(没有存储或搁置)
【发布时间】:2019-03-21 15:14:44
【问题描述】:

我在分支 A 上,我对它进行了更改,我意识到应该在不同的分支上。我想在我的更改不消失的情况下更新到另一个分支,但我不希望这些更改保留在分支 A 上。我想在没有存储或搁置的情况下执行此操作。我可以只复制回购更改吗?就像如果我有 repo A,我可以复制并粘贴到 Repo B,然后当我切换分支时,我认为 Repo B 保持不变,但 Repo A 发生了变化还是不对?

【问题讨论】:

  • 您为什么不想使用这些实用程序?它们被有效地设计为执行您所描述的操作。您是否有不想使用这些功能的特殊原因?您认为复制和粘贴将实现哪些隐藏不会?我不是想无礼,但这就像说我想到达 B 点,但我不想走直线。可能有正当的理由,但我认为您的问题会受益于一些额外的细节。
  • @zero298 更像是因为可能出现的问题,我被告知不要这样做,并且复制回购会更容易
  • 好吧,搁置是我会说的这样做。但我会使用命令行 hg shelve,而不是 THG 内置的(不同)搁置
  • 我发现通过拥有不同的存储库,我可以将它们上的任何更改推送到远程,并在需要时拉到另一个存储库。

标签: tortoisehg


【解决方案1】:

实现这一目标的一种方法是这样做

hg update <other branch> --merge

这将尝试将您更新到另一个分支并带上您未提交的更改。这可能会导致您必须解决的合并冲突。

另外,我不确定您为什么不想使用搁置来实现这一目标。在这种情况下使用搁置是完全可以的,应该没有任何问题。如果你想做搁置的方式,它看起来像:

hg shelve hg update <other-branch> hg unshelve

unshelve 步骤可能会导致合并冲突。

【讨论】:

    猜你喜欢
    • 2020-07-06
    • 2022-01-15
    • 1970-01-01
    • 2016-09-15
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多