この記事は、GitHub Advent Calendar 2024 の7日目の記事です。

GitHub Advent Calendar 2024
https://qiita.com/advent-calendar/2024/github

GitリポジトリをGitHubにpushした時に、
稀に、拡張子が無いファイルなどでファイル形式が認識されずに、
GitHubのUI上でSyntaxHighlightが効かないなど、
ちょっと悲しい感じになる事があります。

このエントリでは、そのような場合の対処方法を示します。

参考: Overrides | github-linguist/linguist
https://github.com/github-linguist/linguist/blob/main/docs/overrides.md

例えば、textlintの設定ファイル.textlintrcの場合、
json形式であることが認識されずSyntaxHighlightが効いていません。

ファイル形式が認識されていない状態 github-attributes01

以下のようなファイルをリポジトリに追加して、GitHubにpushします。

.gitattributes

.textlintrc linguist-language=json

すると、次のようにファイル形式が認識されて、
SyntaxHighlightが効くようになります。

ファイル形式が認識された状態 github-attributes02

SyntaxHighlight以外にも、
リポジトリ内の言語種別の統計などにも反映されると思います。

これ以外にも、.gitattributesでは、
GenerateされたファイルをPullRequest時の差分表示から除外するなどの設定もできます。

参考: 変更したファイルの GitHub での表示方法をカスタマイズする | GitHub Docs https://docs.github.com/ja/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github

以上。