サーチ…


構文

  • 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

バックポートサブツリー更新

  1. スーパープロジェクトでバックポルトするコミットを指定する:

    git commit -am "new changes to be backported"
    
  2. マージのために新しいブランチをチェックアウトし、サブツリーリポジトリを追跡するように設定する:

    git checkout -b backport plugin/master
    
  3. チェリーピックバックポート:

    git cherry-pick -x --strategy=subtree master
    
  4. 変更をプラグインソースに戻す:

    git push plugin backport:master
    


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow