问与答 汞-汞:如何在不丢失历史记录的情况下移动文件(至子文件夹)?

bain · 2020-03-08 10:23:14 · 热度: 32

如何在不丢失文件历史记录的情况下将文件移动到子文件夹?

在我的Mercurial存储库(我的意思是其中带有.hg的文件夹)中,我具有MyProject /文件夹,其中包含所有项目文件。 现在,我需要在其中创建src /文件夹并将所有文件移至其中(从MyProject /移至MyProject / src /)。 在不丢失所有历史记录的情况下该如何做?

猜你喜欢:
共收到 4 条回复
vikram #1 · 2020-03-08 10:23:14

因为您有一个“ tortoisehg”标签,所以我认为我将使用GUI来说明执行此操作的方式。

通常,我只是在我的IDE中或从Windows资源管理器中重命名/移动文件,然后当我提交时,THG将显示一堆(?)未知文件和(R)删除的文件。 只需右键单击任何文件,然后选择“检测重命名...”,然后单击“查找重命名”按钮。

您可能需要调整“最小相似度”滑块,直到获得所需的所有文件以及仅所需的文件,但这通常非常简单。

ternence #2 · 2020-03-08 10:23:16
hg mv 

确实做正确的事,但-f不会列出移动后的条目,除非您给它hg log选项。 有关更多信息,请参见此问题

为什么默认情况下,“ hg mv”(Mercurial)不移动文件的历史记录?

执行完此操作后,您可能希望将275570333746620102010选项添加到hg log到回购的hgrc文件中。

.hg/hgrc

[defaults] 
log = -f 
enoch #3 · 2020-03-08 10:23:18

在安装了Tortoise HG的Windows中,有一个Windows shell扩展可以很好地处理此问题。

在Windows资源管理器中,只需右键单击并将要移动的文件拖到目标文件夹中。 然后,您会看到一个弹出窗口,为您提供以下选择:

HG在此处移动版本化的项目

HG在此处复制版本化的项目

tazhon #4 · 2020-03-08 10:23:20

使用hg mv移动文件,然后使用hg log -f(如下)查看历史记录,包括重命名。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册