結論
ここに書いてある
注意事項
だいぶ懐かしい記事ですが…突然、「Diffに表示しないなんてGitHubの価値を損なうものだから記事を非公開にするべきだ」というご指摘をいただいたので、念のため追記。
Diffに表示しない、ってことは当然PRにも見えません。
レビューされない怪しいコードが紛れ込むリスクを抱えることになります。
せいぜい自動生成分だけを非表示にして、CIの中で再生成、差分が出ないチェックを入れるなど、ガードの手は考えておいたほうが良いでしょうね。はい。ご利用は計画的に。
背景
mockery
だったり、swagger-codegen
だったり、go-bindata
だったり…
GitHub上に自動生成されたコードを載せている場合、PRやcommitの詳細画面でDiffが邪魔になることがあります。
- .gitignoreでそもそも自動生成コードをリポジトリに載せない
- generatedコードに冪等性を持たせてDiffを最小限にする
など対策は色々ありますが、 どうしても生成分をリポジトリに載せたいがGitHub上ではdiffとして見えなくていい 場合もあります。
今までさんざん色々探したんですが、いい対策方法が見つからず・・・
ところがどっこい、GitHub公式の方法で実現できたので記事にしてみました。
GitHubのdiffで特定のファイルを隠す方法
そんなときは、例えばgoの場合はファイルの先頭に
// Code generated by xxx
:
と一行コメントしてやるだけで、Diffに表示されなくなります。
その他の言語でも
色々な言語で対応しているようです。
判定方法はrbのソースを見ればひと通りわかりそう…。
いつからできたんだろう?
結構探したんですが、GitHubのドキュメントやリリースノートも見つけられてません。
そんなん常識だが、とかここで書かれてたやん、みたいな話があったら教えてくれると嬉しいです。