[解決済み] git リポジトリのフォルダを別のリポジトリにリンクするには?
質問
公開リポジトリを作成して、私のメイン リポジトリ (プライベート) からいくつかのサンプル ファイルを置きたいと思います。git リポジトリから別の git リポジトリにいくつかのフォルダをソフトリンクする方法はありますか?
どのように解決するのですか?
このタスクには、サブモジュールを使用する必要があります。
サブモジュールは、同じルート下にある異なるgitリポジトリのことです。
この方法では、ルートリポジトリ内のフォルダレベルで2つの異なるプロジェクトを管理することができます。
Submodules
外国のリポジトリを専用のサブディレクトリに埋め込むことができるようになりました。 の中に埋め込むことができます。
git submodule
これまでのように、大きなプロジェクトをサブプロジェクトに分割します。
次に、各サブプロジェクトをメインプロジェクトに追加します。
git submodule add <url>
プロジェクトがリポジトリに追加されたら、initとupdateを行う必要があります。
git submodule init
git submodule update
現在のところ
Git 1.8.2
新オプション
--remote
が追加されました。
git submodule update --remote --merge
意志
fetch
は、各サブモジュールにおける上流からの最新の変更点です。
merge them in
そして
check out
は、サブモジュールの最新リビジョンです。
として ドキュメント に記述されています。
--remote
このオプションは update コマンドに対してのみ有効です。サブモジュールを更新するためにスーパープロジェクトの記録されたSHA-1を使う代わりに、サブモジュールのリモート追跡ブランチのステータスを使用します。
これは、各サブモジュールでgit pullを実行することと同じです。
しかし、親レイヤーと共有されるコードに影響を与えるC言語のバグ修正のシナリオでは、どのようにコミットをプッシュすればいいのでしょうか?
繰り返しますが、サブモジュールを使用すると、あなたのコードがメインプロジェクトのコンテンツの一部として配置されます。フォルダ内にローカルに持つか、サブモジュールの一部として持つかの違いは、サブモジュールではコンテンツが別のスタンドアロンリポジトリに管理(コミット)されることです。
これは、サブモジュールの例です - 各プロジェクトがスタンドアロン プロジェクトである別のプロジェクトの中のプロジェクトです。
git subtree
Git サブツリーは、任意のリポジトリを別のリポジトリのサブディレクトリとして挿入することができます。
に非常によく似ています。
submodule
と似ていますが、主な違いはコードが管理される場所です。サブモジュールでは、コンテンツは別のリポジトリに置かれ、そこで管理されるため、他の多くのリポジトリにクローンすることができます。
subtree
は、コンテンツを別のプロジェクトではなく、ルートプロジェクトの一部として管理します。
設定方法と使用方法を説明する代わりに、この優れた投稿を読めば、すべてがわかります。
https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git にファイルモード (chmod) の変更を無視させるには?
-
[解決済み] サブモジュールを含む "git clone "の方法は?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
解决[email protected]。パーミッションが拒否されました (publickey)。リモートリポジトリから読み取れませんでした
-
解決策正しいアクセス権を持っていることと、リポジトリが存在することを確認してください。
-
Git はファイル名の大文字と小文字を無視し、修正する
-
git-fatal: 設定されたプッシュターゲットがありません / 警告: store/README.md の LF は CRLF に置き換えられています。
-
[解決済み] gitにもsvnのような無視コマンドはありますか?
-
[解決済み] シングルブランチクローンを「元に戻す」方法は?
-
[解決済み] 以前のコミットにファイルを追加するには?
-
[解決済み] gitで、stashを適用せずに、追跡されていないstashedファイルを表示する方法はありますか?
-
[解決済み] Git Repo から既存のファイルを削除する