如何知道 git 添加的百分比。已经处理了吗?

How to know the percentage of git add . that is already processed?

我正在将多个大文件添加到存储库中。

git add .

这需要很多时间。有什么方法可以显示进度条,以便我可以知道有多少文件已经添加到存储库中?

没有进度条,但至少您会得到一些反馈并查看哪些文件已添加:

 git add --verbose .

这是一个单行代码,每秒计算进度百分比:

git add --verbose . > ../progress.txt & percent=0; while [[ $percent -le 99 && $percent -ge 0 ]]; do num1=$(cat ../progress.txt | wc -l); num2=$(find . -type f -not -path "./.git/*" | wc -l); percent=$((num1*100 / (num2 - 3) )); echo $percent"%"; sleep 1; done; echo "DONE"; sleep 1; rm ../progress.txt
  • 进度不到100%
  • 计算 git add 生成的行数 ( num1 )
  • 统计文件夹中除.git/*以外的所有文件(num2
  • 根据这些数字计算百分比 (num1*100 / num2)
    • 我们应该从 num2 中减去 3,因为 find 命令回显的行比预期的要多
  • 脚本会生成一个临时 progress.txt 文件,但会在最后删除

示例输出:

12%
25%
50%
50%
75%
75%
100%