Git子树工作流程
|
在我当前的项目中,我正在使用一个开源论坛(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\"
问题是\“ update commit \”放在我的提交之上,而\“ overwrite \”在我的更改之上。我想在更新的基础上重播我的提交。有没有简单的方法可以做到这一点?我的git不太好,所以也许这是错误的方法。另外,我真的不想将自己的历史与原始历史混为一谈。
没有找到相关结果
已邀请:
4 个回复
夏瓤跋棘
系漏
。它为这种事情提供了一个更加用户友好的界面,包括合并/拉命令以合并到子树中(压缩是可选的)和拆分/推命令将拆分的更改拆分回子树并将其发回给自己回购。
抢垢洛韧
不会“覆盖”您的更改。我希望通过\“ update commit \\”表示您在子树合并后所做的提交,因为它具有
并且不会自己提交。
帆攀缺锯欧