LoginSignup
276
183

More than 5 years have passed since last update.

GitHubで自動生成コードをDiffに表示しない方法

Last updated at Posted at 2016-12-06

結論

ここに書いてある

注意事項

だいぶ懐かしい記事ですが…突然、「Diffに表示しないなんてGitHubの価値を損なうものだから記事を非公開にするべきだ」というご指摘をいただいたので、念のため追記。

Diffに表示しない、ってことは当然PRにも見えません。
レビューされない怪しいコードが紛れ込むリスクを抱えることになります。
せいぜい自動生成分だけを非表示にして、CIの中で再生成、差分が出ないチェックを入れるなど、ガードの手は考えておいたほうが良いでしょうね。はい。ご利用は計画的に。

背景

mockeryだったり、swagger-codegenだったり、go-bindataだったり…
GitHub上に自動生成されたコードを載せている場合、PRやcommitの詳細画面でDiffが邪魔になることがあります。

  • .gitignoreでそもそも自動生成コードをリポジトリに載せない
  • generatedコードに冪等性を持たせてDiffを最小限にする

など対策は色々ありますが、 どうしても生成分をリポジトリに載せたいがGitHub上ではdiffとして見えなくていい 場合もあります。

今までさんざん色々探したんですが、いい対策方法が見つからず・・・
ところがどっこい、GitHub公式の方法で実現できたので記事にしてみました。

GitHubのdiffで特定のファイルを隠す方法

そんなときは、例えばgoの場合はファイルの先頭に

sample.go
// Code generated by xxx
:

と一行コメントしてやるだけで、Diffに表示されなくなります。

https___qiita_com_items_0d9f70d9970ae086f0ce_·_kyoh86_qiita_1e15152_·_GitHub.png

その他の言語でも

色々な言語で対応しているようです。
判定方法はrbのソースを見ればひと通りわかりそう…。

いつからできたんだろう?

結構探したんですが、GitHubのドキュメントやリリースノートも見つけられてません。
そんなん常識だが、とかここで書かれてたやん、みたいな話があったら教えてくれると嬉しいです。

276
183
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
276
183