LoginSignup
1
3

.gitattributes をもっと活用して GitHub 上での開発体験を向上させよう

Posted at

.gitattributesを活用しプルリクエストレビューの負荷を軽減して、開発体験を高めた記録です。

※ これは2022-12-15に個人ブログで公開した記事を移植し、CC0-1.0で提供しています。情報は古い可能性があります。

背景

プルリクエストの差分を確認する際、パッケージマネージャーのロックファイルや自動生成ファイル (CodeGen) が差分となって出てくることがあります。

自動生成ファイルは人が読むものではないため、レビューにおいて邪魔に感じてしまいレビュー負荷が増加してしまうことがあります。

また、実際よりも差分が大きく見えてしまうことで、レビュワーがレビューを後回しにしてしまうことで、リリースの速度の低下にも繋がっていました。

そこで、 .gitattributes を適切に設定してみることにしました。

.gitattributes とは

もともとGitで .gitattributes の設定が存在します。下記ではツールを利用してバイナリ差分を見やすくする方法について解説されています。

これに加え、Githubでは linguist-generated というオリジナルの属性が用意されています。

使用例

linguist-generated を指定すると、該当のファイルは差分としてデフォルト折りたたまれるようになり、差分の行数としてカウントされなくなります。

yarn.lock linguist-generated=true

GitHub のプルリクエストのスクリーンショット。yarn.lock の差分がデフォルトで閉じられており、「Some generated files are not rendered by default」と表示されている。

ちなみにドキュメントを見ると他にもいくつかの属性があり、GitHub上に表示される言語統計情報などをカスタマイズできます。

  • linguist-detectable
  • linguist-documentation
  • linguist-generated
  • linguist-language
  • linguist-vendored

まとめ

.gitattributes を活用し、ロックファイルや自動生成ファイルの差分を折りたたむように設定してみました。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3