在我当前的项目中,我正在使用一个开源论坛(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,所以也许这是错误的方法。此外,我真的不想将我的历史与香草历史混为一谈。