在我目前的项目中,我使用的是开源论坛(https://github.com/vanillaforums/Garden)。我打算做这样的事情:Git子树工作流程
git remote add vanilla_remote https://github.com/vanillaforums/Garden.git
git checkout -b vanilla vanilla_remote/master
git checkout master
git read-tree --prefix=vanilla -u vanilla
这样我可以做出改变成香草文件夹(如更改配置),并提交到我的主分支,我也可以切换到我的香草分支获取更新。我的问题是,当我尝试合并分支一起
git checkout vanilla
git pull
git checkout master
git merge --squash -s subtree --no-commit vanilla
git commit -a -m "update commit"
的问题是,“更新承诺”在我提交的顶云和“覆盖”我的变化。我宁愿让我的提交在更新之前重播。有没有简单的方法来做到这一点?我不擅长git,所以也许这是错误的做法。另外,我真的不想把我的历史和香草历史混为一谈。
我有同样的问题,我只想这样做(从http:// git-scm。com/book/en/Git-Tools-Subtree-Merging):“Rack项目中的所有更改都已合并并准备在本地提交,您也可以做相反的操作 - 在主分支机架子目录中进行更改然后将它们合并到您的rack_branch分支中,以便将它们提交给维护者或将其推送到上游。“然后执行合并命令。他们提到它,但没有示例命令。 – Rivera
@ernipiggy您是否找到了从子树推送的方法? – abel
@abel我试着在下面解释 – Rivera