在我当前的项目中,我正在使用一个开源论坛(https://github.com/vanillaforums/Garden 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 所以也许这是错误的方法。另外,我真的不想把我的历史和普通的历史混在一起。
我完成了这个方案:
致力于我的发展分支触摸文件subtree.
更新subtree被压扁的树枝发展承诺:
git merge -s 子树 --squash --no-commit发展
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)