移动海量文件夹时如何检查git状态?

问题描述 投票:1回答:1

我只是改变了我的项目的层次结构,移动了一个包含数万个文件的文件夹,并运行了git add --allgit status命令现在没用了 - 它打印出数千行,太大而无法读取。

在提交之前检查暂存区域状态的最佳方法是什么?

git
1个回答
1
投票

Git通过比较每对文件删除/添加来检测文件重命名,即O(n2)。为了保持较低的计算时间,如果文件太多,它将不会尝试检测重命名。

试试git diff -l0 --name-status --cached HEAD

  • -l0将重命名检测的限制设置为某个非常高的数字
  • 例如,--name-status只是打印出每个文件的状态 R100 old_name new_name 表明old_name被删除,new_name添加了100%匹配的内容
  • --cached HEAD比较最后一次提交和当前阶段。您可以省略--cached来比较最后一次提交和当前工作树,这在git add -A/--all之后应该是相同的。

还有-C --find-copies-harder用于复制检测。

© www.soinside.com 2019 - 2024. All rights reserved.