clocコマンドを単に実行するとvendor/bundle
やnode_modules
などgit管理下に無いファイルも集計してしまいます。
$ ls
.DS_Store .dependabot/ .rubocop.yml Procfile bin/ db/ public/
.bundle/ .editorconfig Gemfile README.md config/ lib/ test/
.byebug_history .git/ Gemfile.lock Rakefile config.ru log/ tmp/
.circleci/ .gitignore Guardfile app/ coverage/ package.json vendor/
$ cloc .
13862 text files.
10857 unique files.
4951 files ignored.
github.com/AlDanial/cloc v 1.80 T=34.00 s (265.3 files/s, 51360.0 lines/s)
-----------------------------------------------------------------------------------
Language files blank comment code
-----------------------------------------------------------------------------------
Ruby 6813 122342 178929 629290
JavaScript 97 30244 22803 213124
C 342 12727 12804 60348
Markdown 323 20352 0 51256
...
-----------------------------------------------------------------------------------
SUM: 9021 228601 250093 1267480
-----------------------------------------------------------------------------------
clocではvcs
オプションがあり、git配下にあるファイルのみを対象とすることができます。
$ cloc --vcs=git
169 text files.
163 unique files.
36 files ignored.
github.com/AlDanial/cloc v 1.80 T=0.35 s (439.0 files/s, 10178.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Ruby 89 310 388 1590
Haml 38 3 2 315
Sass 8 39 21 250
YAML 10 52 105 220
HTML 3 15 3 182
Markdown 1 15 0 28
JSON 1 0 0 5
JavaScript 3 3 26 4
CSS 1 0 15 0
CoffeeScript 1 0 3 0
-------------------------------------------------------------------------------
SUM: 155 437 563 2594
-------------------------------------------------------------------------------
clocのオプションを設定するよりはgitのサブコマンドをエイリアスで定義する方が楽チンです。
# ~/.gitconfig
[alias]
cloc = !cloc $(git ls-files)
$ cloc --vcs=git
と同じ結果が出る。
$ git cloc
169 text files.
163 unique files.
36 files ignored.
github.com/AlDanial/cloc v 1.80 T=0.10 s (1558.7 files/s, 36142.7 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Ruby 89 310 388 1590
Haml 38 3 2 315
...
-------------------------------------------------------------------------------
SUM: 155 437 563 2594
-------------------------------------------------------------------------------