为什么'git diff tree<;树的颜色>;`应用于第一次提交时不打印结果?
我通常将为什么'git diff tree<;树的颜色>;`应用于第一次提交时不打印结果?,git,tree,git-diff-tree,Git,Tree,Git Diff Tree,我通常将git diff tree与以下选项一起使用: --无提交id--名称状态-r或--无提交id--仅名称-r以列出特定提交中添加和更改的文件 我今天刚刚注意到,这个命令在应用于第一次提交时不会打印结果 那么为什么,以及如何克服它呢?原因很可能是因为: 当给定两棵树时,它会比较第一棵树和第二棵树。当给出单个提交时,它会将提交与其父级进行比较 存储库中的第一次提交没有父级 但是,您可以为该提交指定: --根 当指定--root时,初始提交将显示为一个大型创建事件。这相当于与空树的差异 请注意
git diff tree
与以下选项一起使用:
--无提交id--名称状态-r
或--无提交id--仅名称-r
以列出特定提交中添加和更改的文件
我今天刚刚注意到,这个命令在应用于第一次提交时不会打印结果
那么为什么,以及如何克服它呢?原因很可能是因为: 当给定两棵树时,它会比较第一棵树和第二棵树。当给出单个提交时,它会将提交与其父级进行比较 存储库中的第一次提交没有父级 但是,您可以为该提交指定: --根
当指定--root时,初始提交将显示为一个大型创建事件。这相当于与空树的差异 请注意,如果您正在构建某种输出这些内容的脚本或应用程序,则必须检测到它是第一次提交,因为在其他地方添加
--root
将不是您想要的
因此,尽管这不会产生任何输出:
git diff-tree -r HASH-OF-FIRST-COMMIT
这应将第一次提交与空树进行比较:
git diff-tree -r --root HASH-OF-FIRST-COMMIT