27.1 创建、拉取和回溯子树
创建子树
-
添加新的远程仓库 添加一个名为
plugin的远程仓库,指向插件的仓库地址:bash git remote add plugin https://path.to/remotes/plugin.git -
创建子树 指定新的文件夹前缀为
plugins/demo,plugin是远程仓库名称,master指的是子树仓库的主分支:bash git subtree add --prefix=plugins/demo plugin master
拉取子树更新
从 plugin 拉取正常提交到子树:
git subtree pull --prefix=plugins/demo plugin master
回溯子树更新
-
指定要回溯的提交 在主项目中提交要回溯的更改:
bash git commit -am "new changes to be backported" -
切换到新分支进行合并,设置为跟踪子树仓库
bash git checkout -b backport plugin/master -
选择性地回溯提交
bash git cherry-pick -x --strategy=subtree master -
将更改推回插件源仓库
bash git push plugin backport:master