はじめに
いろんなリポジトリを見ていたら CODEOWNERS というファイルを見つけました。
名前から Git 関連のファイルであることは分かりますが、使用用途はいったいなんなのでしょうか。
(関係ないですが、これは3番煎じの始まり方ですね。あと何回やるんでしょうかね。)
CODEOWNERS とはなにか
CODEOWNERS は GitHub が提供する仕組みで、特定ディレクトリやファイルに責任者を関連付けることができます。
CODEOWNERS は基本敵機にリポジトリ内のどこにおいても適応されますが、優先されるものは以下の場所になります。
/CODEOWNERS
/.github/CODEOWNERS
/docs/CODEOWNERS
一般的にはルート直下か .github/ 内に置くのが推奨されています。
どうやって使うのか
CODEOWNERS ファイルを以下のように書くと使用できます。
/path/ @team1 @team2
# 例1 srcフォルダ全体を team1 に押し付ける
/src/ @team1
# 例2 すべての js ファイルを team2 team3 に押し付ける
*.js @team2 @team3
なお、一部ファイルだけ別の人に責任を負わせたい場合は、一度空の指定を挟むことによって実現できます。1
以下の状況では /src/client/ に対する責任を @team2 のみ負い @team1 は負いません。
/src/ @team1
/src/client/
/src/client/ @team2