Mercurial:重命名然后使用旧名称创建新文件

发布于 2024-11-29 09:27:38 字数 275 浏览 0 评论 0原文

我正在使用 TortoiseHg。我有一个文件 A。我使用重命名工具将其重命名为 B。一切看起来都很好。现在我想创建一个名为 A 的新文件。当我创建一个具有该名称的文件并将其添加到存储库时,它会向我显示新文件与旧文件 A(现已重命名为 B)的差异。

我怎样才能将A重命名为B,并能够添加一个新的A,你知道,新的A,并且不会让Hg认为我正在修改旧的、现在不存在的A?

编辑:事实上,我最初所做的是正确的事情,我只是没有正确提交重命名。 (我已经提交了,但只提交了新重命名的文件,而不是现在不存在的旧文件。)

I'm using TortoiseHg. I have a file A. I used the rename tool to rename this to B. All seems well. Now I want to create a new file named A. When I create a file with that name and go to add it to the repo, it's showing me a diff of my new file with the old A (which is now renamed to B.)

How can I rename A to B and be able to add a new A which is, y'know, new, and not have Hg think I'm modifying the old, now-nonexistent A?

Edit: In fact what I originally did was the right thing, I just wasn't committing the rename properly. (I had committed, but only committed the newly-renamed file, and not the now-nonexistent old file.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷→糖丶微凉 2024-12-06 09:27:38

重命名后需要提交,然后创建同名的新文件。

$ hg mv A B
$ hg commit -m "moving A→B"
$ touch A
$ hg add A
$ hg commit -m "adding new A"

You need to commit after the rename and then create the new file with same name.

$ hg mv A B
$ hg commit -m "moving A→B"
$ touch A
$ hg add A
$ hg commit -m "adding new A"
若水般的淡然安静女子 2024-12-06 09:27:38

假设您的存储库中有文件 a.txt。要将其重命名为 b.txt 并添加名为 a.txt 的不同文件,请使用 TortoiseHg 2.x 执行以下操作:

  1. 右键单击 a.txt。在上下文菜单中,单击TortoiseHg > 重命名文件
  2. 重命名对话框中,在目标文本框中输入b.txt。单击重命名
  3. 右键单击存储库文件夹。在上下文菜单中,单击Hg 提交
  4. 提交窗口中,检查两个文件:添加的b.txt和删除的a.txt。输入提交描述,然后单击提交。关闭提交窗口。
  5. 创建名为 a.txt 的新文件。右键单击它。在上下文菜单中,单击TortoiseHg > 添加文件
  6. 添加窗口中,确保选中a.txt。单击添加
  7. 右键单击存储库文件夹。在上下文菜单中,单击Hg 提交
  8. 提交窗口中,确保您已选中a.txt。输入提交描述,然后单击提交。关闭提交窗口。

现在,您有了一个不同的 a.txt,具有新的历史记录,以及 b.txt,它记得它曾经被命名为 a.txt

PS 这与 Vaibhav Bajpai 在他的答案中发布的步骤完全相同。如果您在处理以 hg 命令表示的步骤时遇到问题,您可能会遇到困难。

Suppose you the file a.txt in your repository. To rename it to b.txt and add a different file named a.txt, using TortoiseHg 2.x, do the following:

  1. Right-click a.txt. In the context menu, click TortoiseHg > Rename File.
  2. In the Rename dialog box, enter b.txt into the Destination text box. Click Rename.
  3. Right-click the repository folder. In the context menu, click Hg Commit.
  4. In the Commit window, make that you have two files checked, added b.txt and removed a.txt. Enter the commit description, and click Commit. Close the Commit window.
  5. Create new file named a.txt. Right-click it. In the context menu, click TortoiseHg > Add Files.
  6. In the Add window, make sure that a.txt is checked. Click Add.
  7. Right-click the repository folder. In the context menu, click Hg Commit.
  8. In the Commit window, make that you have a.txt checked. Enter the commit description, and click Commit. Close the Commit window.

Now you have a different a.txt, with a fresh history, and b.txt which remembers it used to be named a.txt.

P.S. This is exactly the same steps as Vaibhav Bajpai posted in his answer. You may have a hard time if you have problems dealing with steps expressed as hg commands.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文