Go言語系ブログpackagemain.techが、従来の「不要なファイルを個別に.gitignoreへ追加していく」方式ではなく、先頭に*を書いて全ファイルをデフォルトで無視し、!プレフィックスで必要なファイルだけを明示的に許可する逆転的な運用方法を提案しています。
背景には、.DS_Storeやnode_modules、IDE設定、環境変数ファイルなど不要なファイルが蓄積しやすく、.gitignoreが肥大化するという問題意識があり、著者は207行に達した例もあると述べています。Goプロジェクトでは*の後に!.gitignore、!*.go、!README.md、!go.mod、!go.sumのように許可行を並べる設定例が示され、設定確認にはgit check-ignore -vコマンドが便利だとしています。著者はこの方法が全プロジェクトに万能というわけではないとしつつ、検討に値する代替案として提示しています。
出典が伝えている要点
未確認の情報を含む記事です。出典の主張をそのまま並べています。
- 記事は.gitignoreで全ファイルをデフォルト無視し、許可するファイルのみ明示的に許可する逆転的アプローチを提案している
- 提案例として最初に
*で全ファイルを無視し、続けて!.gitignore!*.go!README.md!go.mod!go.sumのように!で始まる行で必要なファイルのみ許可する設定例が示されている - 著者はプロジェクトに .DS_Store、node_modules、IDE設定ファイル、環境変数ファイルなど不要なファイルが蓄積しやすいと述べている
- 著者は一部のプロジェクトで207行に及ぶ .gitignore が必要になる場合があると述べている
- 記事はこのアプローチが全てのリポジトリに適するわけではないが検討する価値のある代替案だとしている
- 記事では設定の検証用コマンドとして
git check-ignore -vを紹介している