Go プロジェクトでのベンダー フォルダー管理: .gitignore かどうか?
.gitignore の Vendor/ ディレクトリを無視するかどうかはよく議論されていますGo 開発。
.gitignore のベンダー/ を無視する理由:
-
参照の変更を避ける: ベンダーによって依存関係のバージョンがフリーズされ、依存関係の変更が防止されます。依存関係の変更によりビルドが中断されることはありません。
-
プロジェクトの消滅: 依存関係プロジェクトが消滅した場合、ベンダーにそれを保持することで継続的な可用性が保証されます。
-
ツールの進化: 依存関係管理ツールは時間の経過とともに進化する可能性があり、vendor/ を無視すると、将来のツールとの互換性が維持されます。
-
ローカル変更: Git リポジトリ内の依存関係に変更が加えられた場合、それらは変更される必要があります。
vendor/ を .gitignore に含める理由:
-
リポジトリが乱雑になる: ベンダー依存関係が大幅に増加する可能性があるリポジトリ サイズ。
-
依存関係の競合: 依存関係が集中的に処理されない場合、複数のチーム メンバーが同じプロジェクトに取り組んでいると、依存関係の競合が発生する可能性があります。
-
ほとんどの場合は不要です。プロジェクト: 厳密な依存関係管理を必要としないプロジェクトの場合、vendor/ を無視することは不要なオーバーヘッドです。
代替ソリューション:
-
仮想環境: Docker または仮想化は、標準化されたツールを備えた分離された開発環境を提供し、個別の依存関係管理の必要性を排除します。
-
ハイブリッド アプローチ: ベンダー/バージョン管理の対象外にします。ただし、それを生成するツールやドキュメントは提供します。
-
プライベート リポジトリ: ベンダーの依存関係用にプライベート リポジトリを維持し、開発者がメイン リポジトリに直接含めずに同じバージョンを使用できるようにします。
-
Go モジュール: Go モジュールは、正確な依存関係のバージョニングを提供し、ベンダーの必要性を軽減します。
以上が.gitignore をするかしないか: Go プロジェクトに `vendor/` を含めるべきか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。