作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 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 add
和
git commit
,您在此处所做的任何其他操作都不会产生任何影响。如果您使用
git mv
它与
git rm
和
git add
相同。
git status
或
git log
时,如果添加的文件与删除的文件足够相似,它将显示删除和添加作为移动。 Git 不使用存储库中的任何额外信息。如果您对移动的文件进行了足够的更改,它将显示为单独的添加和删除。 Git 通过将新文件的内容与已删除文件的内容进行比较来做到这一点。在数据已经提交之后,当您要求差异时会发生这种情况。
git diff-index
。例如,即使 75% 的文件发生更改,也要跟踪重命名,请使用以下命令:
git diff-index -M25%
关于git - 如何在 git 中执行 "hg mv --after"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39149547/
我是一名优秀的程序员,十分优秀!