Gitリポジトリの主要言語を正しく表示させる方法

Git

なんとなくOrganizationのリポジトリ一覧を眺めていると
Swiftしか使っていないはずのプロジェクトの主要言語がObjective-Cになっていました。。。

なぜObjective-Cが表示されるのか?

リポジトリのトップを見てみると色線がありますが、、
実はこれ使用している言語の割合を表示しているみたいです。

1.png

色部分をクリックすると言語の比率が表示されます。

2.png

更に比率に表示されている言語をクリックするとファイルの詳細が表示されます。
中身を確認してみると・・・Objective-Cの一覧にライブラリ名がありました。

3.png

つまり、、、
ライブラリをリポジトリ内にコミットしていると使用している言語として判定されるようです。

解決方法

この現象について気になったので調べてみるとGitHubではlinguistというライブラリを使って使用しているコードの言語を自動的に判定しているそうです。
https://github.com/github/linguist

今回のような現象についての対処方法も書いてありました。
どうやらgitattributesというファイルを作成して以下のような設定を追加すれば良いとのこと。

この設定を追加することで特定のディレクトリ配下にあるコードは言語の自動判定の対象外になります。

実行結果

リポジトリに反映させるとライブラリを除いたコードだけが
言語の自動判定の対象になるので無事Swiftが100%になりました!

4.png

Git