サーチ…
構文
-
git subtree add -P <prefix> <commit> -
git subtree add -P <prefix> <repository> <ref> -
git subtree pull -P <prefix> <repository> <ref> -
git subtree push -P <prefix> <repository> <ref> -
git subtree merge -P <prefix> <commit> -
git subtree split -P <prefix> [OPTIONS] [<commit>]
備考
これは、 submoduleを使用する代わりの方法です
サブツリーの作成、プル、バックポート
サブツリーの作成
プラグインのリポジトリを指すpluginと呼ばれる新しいリモートを追加します:
git remote add plugin https://path.to/remotes/plugin.git
次に、新しいフォルダプレフィックスplugins/demo指定するサブツリーを作成します。 pluginはリモート名で、 masterはサブツリーのリポジトリのmasterブランチを参照します。
git subtree add --prefix=plugins/demo plugin master
サブツリーの更新を引き出す
プラグインで行われた通常のコミットを引き出す:
git subtree pull --prefix=plugins/demo plugin master
バックポートサブツリー更新
スーパープロジェクトでバックポルトするコミットを指定する:
git commit -am "new changes to be backported"マージのために新しいブランチをチェックアウトし、サブツリーリポジトリを追跡するように設定する:
git checkout -b backport plugin/masterチェリーピックバックポート:
git cherry-pick -x --strategy=subtree master変更をプラグインソースに戻す:
git push plugin backport:master
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow