gpt4 book ai didi

git - 如何在 git 中执行 "hg mv --after"?

转载 作者:太空狗 更新时间:2023-10-29 14:27:58 25 4
gpt4 key购买 nike

我在 git 之外重命名了一些文件并对其进行了大量修改。当我运行时git diff-index -M --name-status HEAD 我只看到 4 个文件被重命名/移动,而应该更多。

我知道我可以使用 hg mv --after 在 Mercurial 中记录事后移动。我在 git 中找不到等价物。有没有?

最佳答案

摘要: 别担心。只需正常提交文件,因为这实际上是您唯一的选择。

下面是 Git 如何查看从 X 到 Y 的重命名。

Commit #1:
- File named "X" with contents "Hello, world!"
Commit #2:
- File named "Y" with contents "Hello, world!"

请注意,Git 实际上并不关心您是否重命名了文件,或者是否创建了具有相同内容的新文件。对于 Git 来说,完全没有区别。

Git 不会记录存储库中的移动,也没有每个文件的历史记录。 Git 仅将历史记录为整个存储库的快照图。只需像往常一样使用 git addgit commit,您在此处所做的任何其他操作都不会产生任何影响。如果您使用 git mv 它与 git rmgit add 相同。

当您使用 git statusgit log 时,如果添加的文件与删除的文件足够相似,它将显示删除和添加作为移动。 Git 不使用存储库中的任何额外信息。如果您对移动的文件进行了足够的更改,它将显示为单独的添加和删除。 Git 通过将新文件的内容与已删除文件的内容进行比较来做到这一点。在数据已经提交之后,当您要求差异时会发生这种情况。

默认相似度阈值为 50%。如果要查看相似度小于 50% 的文件之间的重命名,请将较低的百分比传递给 git diff-index 。例如,即使 75% 的文件发生更改,也要跟踪重命名,请使用以下命令:
git diff-index -M25%

关于git - 如何在 git 中执行 "hg mv --after"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39149547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com