gpt4 book ai didi

git - 为什么 git diff-tree show 总是显示重命名为添加和删除

转载 作者:行者123 更新时间:2023-12-03 09:08:14 31 4
gpt4 key购买 nike

在两次测试提交中,其中第一次只有操作git mv file moving_file,第二次只有mv moving_file moving_again_file && git add -A moving_file moving_again_file,两者在提交之前在 git status 中显示为重命名,但在 git commit --verbose 中它们显示为新文件和已删除的文件。

我期望每次提交后 git diff-tree HEAD 显示一个 R (重命名)状态,但我不断收到两个:一个 A 和一个 D

我正在尝试编写一个根据文件状态执行操作的脚本,但我无法正确规划 R(或 C)状态(如果它们始终如此)显示为添加/删除。

Git 的版本是 1.8.3.1(如果有区别的话)。

最佳答案

git diff-tree 命令是一个plumbing 命令,而不是porcelain 命令,因此它具有可预测的行为。

其中之一是重命名检测除非明确打开,否则会关闭。将此与 git diff 进行对比,它是一个 porcelain 命令,因此根据您的个人配置设置重命名检测 diff.renames

要打开重命名检测,请添加 -M--find-renames (及其可选阈值)。使用 -C--find-copies (及其可选阈值)查找副本;如果需要,添加 --find-copies-harder

关于git - 为什么 git diff-tree show 总是显示重命名为添加和删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45155780/

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