【问题标题】:Is it possible to delete a single file in a shelf?是否可以删除架子中的单个文件?
【发布时间】:2018-08-23 11:08:47
【问题描述】:

我对几个文件进行了更改并将它们搁置(恢复了原始文件)。从那时起,其中一个文件在存储库中被删除,当我同步时,也从我的工作副本中删除。当我取消搁置时,我编辑的文件副本会导致合并问题(拒绝),因为搁架将其列为已编辑,而工作副本中不再存在。

我想直接从书架上删除它,但我没有看到相应的选项。如果不可能,那么处理这种情况的正确方法是什么?

我正在使用 TortoiseHg,但答案不需要专门针对那个。

【问题讨论】:

  • 如果您使用的是 THG,那么我认为答案确实需要针对该工具。尽管 HG 有自己的货架扩展,但这不是 THG 使用的 (AFAIK)。 THG 似乎已经实现了自己的货架系统,两者不可互操作。
  • @DaveInCaz 我没有意识到这一点。我认为 ToirtoiseHG 控制台中的任何 hg 命令都可以工作(而且它只是 Mercurial 的 GUI)。我添加了标签。
  • 我认为 THG 的货架是个例外,在我能想到的任何其他情况下,您都是正确的。可能是 THG 在 hg shelve 命令(它是一个扩展)存在之前添加了该功能。

标签: mercurial tortoisehg


【解决方案1】:

一种方法是更新到确实包含后来被删除的文件的变更集,理想情况下,搁置的变更所基于的文件。然后,您可以将文件取消搁置到您的工作文件夹中,从而将其从搁架中删除,然后假设您不需要其修改后的内容,然后恢复该文件。

【讨论】:

  • 我最终做了类似的事情。查看变更集时,可以仅将选定的文件还原为父版本 (Ctrl+Shitf+R)。所以我去了文件被删除的修订版,将它们恢复为存在,然后取消搁置。
【解决方案2】:

在 thg Shelve 工具中,您可以右键单击搁置的项目之一并编辑补丁。

这显示了 Shelve 的整个补丁。您必须小心只删除要排除的文件的补丁。

或者:

在取消搁置时,为什么不单独取消搁置每个文件,并忽略丢失的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    相关资源
    最近更新 更多