3

私はバージョン管理の経験がなく、Git を使用するのは初めてです。BitBucket と TortoiseGit を使用しており、セットアップして動作しています。

ここで、プロジェクトのコーダーにとってそれほど重要ではない、グラフィック、スクリプト、サウンドなどのリソース ファイルを保持するフォルダー (「リソース」と呼びましょう) を分離できるようにしたいと考えています。コーダーは、このフォルダーからプルしたり、同期したりできてはなりません。

ただし、別のチームがこの「リソース」フォルダーを操作して変更できる必要があり、コーダーが行った変更を受け取ることもできます。

.gitignore リストを作成する ignore 関数があることを理解しています。しかし、私が理解しているように、このリストはすべてのユーザーのファイル/フォルダーを無視するため、無視するように定義されるとすぐに、誰も「リソース」フォルダーに効果的にアクセスできなくなります。

別の方法は、「オリジン」を「コーダー」ブランチと「リソース」ブランチに分岐することです。次に、「コーダー」はリモートの「コーダー」との間でプッシュおよびプルし、「オリジン」にプッシュしますが、「リソース」にはプッシュしません。「リソース」は常に「オリジン」との間でプル/プッシュしますが、「コーダー」とは決してしません。

このプロセスには、ある種の「ブランチの特定のリストにプッシュする」オプションが本当に必要になると思います。

これがどのように機能するかについて私が正しいかどうかわからないので、いくつかの実験を試みましたが、明らかに失敗しています. 私はそれを間違った方法で見ていますか?このような状況に最適なソリューションは何でしょうか (できれば TortoiseGit を使用)。

4

1 に答える 1

1

そのフォルダーに (バイナリ) "リソース" を入れすぎないように注意してください。git リポジトリとして、これらのリソースは複製され、リポジトリのサイズが大幅に増加する可能性があります。

それらを別のリポジトリに分離し、そのリポジトリをメインの開発リポジトリのサブモジュールとして宣言することをお勧めします。

そうすれば、コーダーはメイン リポジトリを複製でき、必要がなければ、「リソース」サブモジュールを初期化して更新する必要はありません。
しかし、必要に応じて、TortoiseGit > Submodule updateそのコンテンツを作業ツリーにロードするには a で十分です。

于 2013-04-25T05:27:23.880 に答える