gpt4 book ai didi

git - git log --follow 已重命名的目录有技巧吗?

转载 作者:太空狗 更新时间:2023-10-29 12:53:53 32 4
gpt4 key购买 nike

git 命令有一个有用的命令,可以在重命名后跟踪文件,如 git log --follow path/to/some/file。不幸的是,它只适用于单个文件。我希望能够执行与 git log --follow some/directory 相同的操作。

这样做的一种方法可能是修改 git ls-tree 的输出并在循环中执行此操作,但问题是影响多个文件的提交不会被“merge ” "一次提交。

有更好的方法吗?注意:使用 git 2.7.4

最佳答案

没有。

Git 不存储目录,只存储文件。当您将任何路径名用于查看整个提交的 git loggit diff 之类的命令时,Git 本质上是说“从整个提交开始,然后将其缩小到文件(s) 匹配该路径”。此处的目录只是选择目录中 中的每个文件。

--follow 选项只能跟随一个文件。因此,如果您能以某种方式设法将其应用到一个目录,Git 会首先将该目录转换为一组文件,然后选择其中一个文件并仅跟随那个文件。

(实际的 --follow 代码非常 hacky。它利用了重命名检测代码,但仅当提交以新旧顺序进行比较时才有效:如果你添加 --reverse, --follow 根本不起作用。可能整个东西都需要扔掉并重新编码。也许通过重新编码,你可以做到处理多个文件名,甚至是充满文件的目录。)

关于git - git log --follow 已重命名的目录有技巧吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38870925/

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