83

特定のファイル (クラウド コンピューティング プラットフォームにデプロイするためにコンパイルされたファイル) をコミットしたいリモート リポジトリがありますが、それらを github にデプロイしたくありません...

リモートごとに1つずつ、異なる.gitignoreファイルを作成する方法はありますか?

4

4 に答える 4

47

これは、git のモデルではあまり意味がありません。コミットには一連のファイルが含まれます。すべての .gitignore ファイルが行うことは、特定のパターンに一致するファイルを自動的に追加しないように UI に指示することです。これが実質的に意味することは、ほぼ同じであるがファイルのサブセットのみを含むコミットの並列セットを持つことです。

これは、マスターから分割され、同じであるが追加のコンパイル済みファイルを含む「展開」ブランチがあるブランチスキームで行うことができます。これは、ファイルを自動的にコンパイルしてリポジトリに追加する git フックを使用して自動化することもできます。次のような構造を想定しています。

master:       A ---> B ---> C ---> D
               \      \      \      \
                \      \      \      \
deployment:      -> A'  -> B'  -> C'  -> D'

つまり、特定のサーバーがマスターで新しいコミットを取得するたびに、プロジェクトをビルドし、ビルドされたファイルを D からの新しいコミットに追加し、それをデプロイメント ブランチにコミットします。その後、github にプッシュする必要はありません。

于 2012-05-07T00:00:29.820 に答える
1

別のオプションはgit submodulesです。

これは、たとえば、コードとドキュメントを、独立したアクセス制御を備えた 2 つの異なるリポジトリに配置する場合などに役立ちます。したがって、合計 3 つのリポジトリ、ドキュメント用のサブモジュール リポジトリ、コード用の別のリポジトリ、および " master」(git サブモジュールではない) リポジトリには、両方が含まれています (おそらく pypi アップロード用)。これは、CS 教科書プロジェクトを編成する適切な方法です。両方のプロジェクトは独立して楽しく進行し、マスター リポジトリのメンテナーによって駆動され、メジャー リリースで同期することができます。

于 2016-10-26T20:41:57.060 に答える