【发布时间】:2011-06-25 00:43:52
【问题描述】:
在我当前的项目中,我使用的是开源论坛 (https://github.com/vanillaforums/Garden)。我正计划做这样的事情:
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
这样,我可以对 vanilla 文件夹进行更改(例如更改配置)并将其提交到我的 master 分支,我也可以切换到我的 vanilla 分支以获取更新。我的问题是当我尝试将分支合并在一起时
git checkout vanilla
git pull
git checkout master
git merge --squash -s subtree --no-commit vanilla
git commit -a -m "update commit"
问题是“更新提交”在我的提交之上并“覆盖”了我的更改。我宁愿在更新的基础上重播我的提交。有没有一种简单的方法可以做到这一点?我不太擅长 git,所以也许这是错误的方法。另外,我真的不想把我的历史和普通的历史混为一谈。
【问题讨论】:
-
我也有同样的问题,我只想这样做(来自git-scm.com/book/en/Git-Tools-Subtree-Merging):“您的 Rack 项目中的所有更改都已合并并准备好在本地提交。您也可以这样做“然后执行合并命令。他们提到它,但没有示例命令。
-
@ernipiggy 你找到从子树推送的方法了吗?
-
@abel 我试着在下面解释一下
-
@ernipiggy 感谢您的回复
标签: git git-workflow git-subtree