如何返回 darcs 中的标签?
How to go back to a tag in darcs?
我想在当前 darcs 仓库(它的工作目录)中检查一个旧的标记状态。
我不想克隆到另一个目录(因为我在当前目录中设置了一个 cabal 沙箱)。
我已经将所有新更改推送到远程仓库,所以我并不关心这些更改是否在本地完全丢失。 (但仍然:我不能保存补丁,但仍然检查旧状态吗?)
如何操作?
尝试次数
我试过了
darcs obliterate --from-tag=TAG
但这并不完全是我想要的结果。这也抹去了标签!
因此,为了取回 TAG,我必须 darcs pull
和 select 行中的第一个补丁 (TAG),然后按 d
跳过所有其他补丁。
好吧,darcs obliterate --from-tag=TAG
确实交互式地询问了要删除什么,所以理论上我可以离开 TAG,但它从最近的补丁开始询问,所以我不得不经历许多最近的补丁,然后才能通知darcs
我决定离开 TAG。
您可以使用 obliterate
的 --reverse
选项先询问标签,对那个说 n
然后 a
取消所有其余的。
事实上 obliterate --from-tag
不一定 select 标签未涵盖的所有内容,因为其行为取决于特定顺序补丁和标签当前在存储库中。
所以在第一个擦除之后,我会再做一个没有 --from-tag
和 --reverse
的。这次将首先提供标签(因为它之后的所有内容都会消失),您可以对它说 n
,然后对其他所有内容说 a
- 只有标签未涵盖的补丁标签被拒绝后会提供
在相对不太可能的情况下,包括另一个标签在内的大量补丁被此捕获,您可能需要重复此操作,直到它停止提供更多补丁。
关于如何在返回旧状态时保留补丁的主题,obliterate
的 -o
和 -O
选项允许您保存补丁被删除到磁盘。然后您可以稍后使用 'darcs apply' 恢复它们。但是,您确实需要注意不要修改留在本地存储库中的任何补丁,或者删除其他补丁而不保留它们,因为这可能会使保存的补丁不适用。
我想在当前 darcs 仓库(它的工作目录)中检查一个旧的标记状态。
我不想克隆到另一个目录(因为我在当前目录中设置了一个 cabal 沙箱)。
我已经将所有新更改推送到远程仓库,所以我并不关心这些更改是否在本地完全丢失。 (但仍然:我不能保存补丁,但仍然检查旧状态吗?)
如何操作?
尝试次数
我试过了
darcs obliterate --from-tag=TAG
但这并不完全是我想要的结果。这也抹去了标签!
因此,为了取回 TAG,我必须 darcs pull
和 select 行中的第一个补丁 (TAG),然后按 d
跳过所有其他补丁。
好吧,darcs obliterate --from-tag=TAG
确实交互式地询问了要删除什么,所以理论上我可以离开 TAG,但它从最近的补丁开始询问,所以我不得不经历许多最近的补丁,然后才能通知darcs
我决定离开 TAG。
您可以使用 obliterate
的 --reverse
选项先询问标签,对那个说 n
然后 a
取消所有其余的。
事实上 obliterate --from-tag
不一定 select 标签未涵盖的所有内容,因为其行为取决于特定顺序补丁和标签当前在存储库中。
所以在第一个擦除之后,我会再做一个没有 --from-tag
和 --reverse
的。这次将首先提供标签(因为它之后的所有内容都会消失),您可以对它说 n
,然后对其他所有内容说 a
- 只有标签未涵盖的补丁标签被拒绝后会提供
在相对不太可能的情况下,包括另一个标签在内的大量补丁被此捕获,您可能需要重复此操作,直到它停止提供更多补丁。
关于如何在返回旧状态时保留补丁的主题,obliterate
的 -o
和 -O
选项允许您保存补丁被删除到磁盘。然后您可以稍后使用 'darcs apply' 恢复它们。但是,您确实需要注意不要修改留在本地存储库中的任何补丁,或者删除其他补丁而不保留它们,因为这可能会使保存的补丁不适用。