gpt4 book ai didi

git - 无法在已移动的文件上运行 git diff

转载 作者:太空狗 更新时间:2023-10-29 13:23:26 25 4
gpt4 key购买 nike

好的,场景如下。 . .

  1. 将一堆文件移动到 GIT 中的一个新文件夹下
  2. 现在我想查看其中一个文件的提交历史
    • 通常 git 日志文件名 就足够了
    • 由于文件已移动,我可以使用 git log--follow filename
    • 实现此目的
  3. --follow 命令为我提供了完整的历史记录,但遗憾的是我无法比较特定文件的历史记录中的两个 SHA

例如,我可以运行 git diff SHA1 SHA2:这将返回这些提交之间所做的所有文件更改

但是,如果我尝试将其降低到文件级别进行比较(git diff SHA1 SHA2 filename),它什么都不返回!

(尽管之前的 SHA 差异显示了此文件中的更改)

有没有人遇到过这个..

我知道在两次提交之间这个文件已经移动,所以我尝试了类似的变体

git diff --follow SHA1 SHA2 filename

没用。

有没有其他人遇到过这种情况,如果有,他们有解决办法吗?

最佳答案

另一个值得研究的选项是 -M。但是,在可能的情况下这也无济于事,您可以像这样手动告诉 git 正确的文件路径:

git diff SHA1:path/to/file1 SHA2:path/to/file2

(路径需要相对于 repo 的顶层)

关于git - 无法在已移动的文件上运行 git diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17082814/

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