4

ソース コードなどのすべてのプロジェクト ファイルをリポジトリの一部にしたい。簡単にするために、すべての作業は開発ブランチで行われます。さらに、pdf ファイルなどの追加のプロジェクト資料を含めたいと考えています。それらを開発ブランチに追加したくありません。これまで、以下の戦略を思いつきました。

  • 戦略 1 は、別のブランチマテリアルを作成し、pdf を追加することです。ブランチは、親ブランチと一部の履歴を共有しています。
  • 戦略 2 は最初の戦略を適応させますが、マテリアルブランチのコミットを時々開発ブランチにマージします。(これはいらないです、ピタです。)
  • 戦略 3 は、たとえば、ソース コードの履歴を共有しない孤立したブランチを作成することです。
  • 戦略 4 は、戦略 1 または 3 に従い、さらに「メイン」リポジトリのマテリアルブランチのみを表すサブモジュールを作成することです。これが可能な場合、作業ディレクトリには開発ブランチとマテリアルブランチが同時に表示されます。

すべての戦略の欠点は、別のブランチをチェックアウトしたときに、作業ディレクトリ内のファイルにアクセスできないことです。開発ブランチで作業しながら、作業ディレクトリで資料を
利用できるように するにはどうすればよいですか? 想像しやすいのであれば、資料はドキュメンテーションでもあります。


編集: Seth Robertsonの回答を読んだ後、戦略 4. を追加しました。

4

1 に答える 1

2

そうですね、PDFを別のリポジトリに分割し、gitslaveやgit-submodulesなどを使用して2つのプロジェクトをリンクすることができます。

このアイデアの拡張の1つは、git-submodules(gitslaveではない)を使用する場合、実際に「他のリポジトリ」を別のブランチのローカルリポジトリにすることができる可能性があることです(gitがこれをどのように区別できるかわかりません)他のケースから-マスターアップストリームからクローンを作成する代わりに実際に同じリポジトリを使用する場合のロックを除いて)。

もちろん、git-submodulesを使用すると、PDFリポジトリのSHAのマージで問題が発生する場合があります(または発生しない場合があります)。gitslaveにはその問題はありません。

于 2011-06-08T22:54:56.770 に答える