gpt4 book ai didi

linux - 如何计算远程 git 存储库的总行数

转载 作者:IT王子 更新时间:2023-10-29 01:22:16 25 4
gpt4 key购买 nike

我想计算 git 存储库中的代码总行数。我在谷歌中找到了答案。

git ls-files -z | xargs -0 猫 | wc -l

它在本地存储库中运行良好。

但是。我想在远程存储库中计数。

所以,我试过了。

git ls-files -z/home/bjyoo/repositories/root/localfiletest.git | xargs -0 猫 | wc -l

,

git ls-files -z --git-dir=/home/bjyoo/repositories/root/localfiletest.git | xargs -0 猫 | wc -l

git --git-dir=/home/bjyoo/repositories/root/localfiletest.git --ls-files | xargs -0 猫 | wc -l

所有命令都失败了。

有谁知道如何统计代码总行数?

最佳答案

虽然 VonC 对于您的命令失败的原因是正确的,但仍有一种方法可以计算存储库中的行数,即使该存储库是空的。

为此,您必须让 git 打印来自特定修订版的文件内容,这可以使用 git show

这样的命令可能看起来像这样,假设您当前在存储库中。

for file in $(git ls-tree --name-only -r HEAD); do
git show HEAD:"$file"
done | wc -l

如果你想从不同的文件夹执行命令,你可以在 git 关键字之后使用 --git-dir

for file in $(git --git-dir=<path-to-repo> ls-tree --name-only -r HEAD); do
git --git-dir=<path-to-repo> show HEAD:"$file"
done | wc -l

我们正在使用 git ls-tree 列出存储库中的所有文件,原因是 ls-files 在裸存储库中不起作用。然后我们使用 git show 结合特定修订打印文件内容。

你可以看看ls-tree documentationshow documentation以准确了解命令的作用。

关于linux - 如何计算远程 git 存储库的总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26037505/

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