我想要计入git存储库中的总代码行数.
我在谷歌找到了答案.
git ls-files -z | xargs -0 cat | wc -l
它在本地存储库中运行良好.
但.
我想要计入远程存储库.
所以,我试过了.
git ls-files -z /home/bjyoo/repositories/root/localfiletest.git | xargs -0 cat | wc -l
,
git ls-files -z –git-dir = / home / bjyoo / repositories / root / localfiletest.git | xargs -0 cat | wc -l
和
git –git-dir = / home / bjyoo / repositories / root / localfiletest.git –ls-files | xargs -0 cat | wc -l
所有命令都失败了
有谁知道如何计算总代码行数?
解决方法:
虽然VonC对于命令失败的原因是正确的,但仍然有一种方法来计算存储库中的行,即使此存储库是裸的.
为了实现这一点,你必须使用git show从特定版本中创建git打印文件的内容.
假设您当前在存储库中,这样的命令可能看起来像这样.
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 documentation和show documentation以准确了解命令正在执行的操作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。