パブリック・リポジトリを作成して、メイン・リポジトリ(プライベート)からいくつかのサンプル・ファイルを作成したいと考えています。 git repoから別のgit repoにいくつかのフォルダをソフトにリンクする方法はありますか?git repoから別のレポにフォルダをリンクするには?
答えて
このタスクでは、サブモジュールを使用する必要があります。
サブモジュールは同じルートの下にある異なるgitリポジトリです。
ルートリポジトリ
Submodules
内のフォルダレベルで2つの異なるプロジェクトを管理することができますこの方法では、常にで指摘し、外国のリポジトリは、専用のサブディレクトリ内のソースツリーのを埋め込むことを可能にします特定のコミット。
git submodule
あなたがこれまでに行ったように、サブプロジェクトへのあなたの大きなプロジェクトを分割します。
は今使用して、あなたの主なプロジェクトの各サブプロジェクトを追加します。 git submodule add <url>
プロジェクトは、あなたのレポに追加されたら、あなたはそれを初期化し、更新する必要があります。 のGitのよう
git submodule init
git submodule update
1.8.2オプション--remote
が
git submodule update --remote --merge
git submodule add <url>
git submodule init
git submodule update
--remote
がgit submodule update --remote --merge
を添加し、新しい意志fetch
各サブモジュールの上流から最新の変更、merge them in
、およびcheck out
サブモジュールの最新リビジョン。 the docsとして
はそれを説明します。
--remote
このオプションは、更新コマンドに対してのみ有効です。スーパープロジェクトの記録したSHA-1を使用してサブモジュールを更新する代わりに、サブモジュールのリモート追跡ブランチのステータスを使用します。
これは、各サブモジュールでgit pullを実行するのと同じです。
しかし、どのように私は、親の層で共有コードに影響を及ぼしCでのバグ修正のシナリオにコミット押すでしょうか?再び
:サブモジュールを使用すると、その内容の一部として、メインプロジェクト内にコードを配置します。フォルダ内にローカルに置くこととサブモジュールの一部として持つことの違いは、サブモジュールではコンテンツが別のスタンドアロンリポジトリに管理(コミット)されることです。
これは、各プロジェクトがスタンドアロンプロジェクトである別のプロジェクト内のsubmodule-projectの図です。
git subtree
Gitのサブツリーは、あなたがに非常に類似した別の1
のサブディレクトリとして任意のリポジトリを挿入することができます0が主な違いは、あなたのコードが管理されている場所です。サブモジュールでは、コンテンツは別のレポに配置され、そこで管理され、他のレポにも複製することができます。
subtree
ルートプロジェクトの一環としてではなく、別のプロジェクトでコンテンツを管理しています。
セットアップ方法を書き留めたり、使い方を理解するのではなく、すべてを説明するこの優れた記事を読むことができます。
https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/
サブモジュールとサブツリーの大きな参照。私はあなたが明示的にデスティネーションリポジトリのソースリポジトリのサブディレクトリを参照することに対処しているとは思わない。 – skitheo