如何使用管道命令执行子树合并?

时间:2013-09-09 20:15:01

标签: git git-merge git-subtree amend

我想将子树合并组合到常规(非合并)提交中。我目前通过首先执行子树合并,然后使用常规更改修改它来完成此操作。

git merge --strategy subtree --strategy-option subtree=subdir $subdir_parent
# stage changes
git commit --amend -m "message"

是否可以仅使用管道命令执行此操作?在git merge生成的提交中,我没有看到这是子树合并提交的迹象。当我将$subtree_parent作为第二个父项传递给git commit-tree时,生成的提交无法包含$subtree_parent的更改。

PS。是否有人反对向合并提交添加与合并无关的更改?

编辑我想我现在明白了。它只是合并提交的树,它决定了子树的合并方式吗?意味着树的子树等于第二个父树的顶部树。

1 个答案:

答案 0 :(得分:0)

糟糕。这只是我对git如何工作感到困惑的结果。传递给git commit-tree的树当然应该反映合并后的情况。我在没有更改subdir文件夹的情况下将树提供给它。简单地使用git commit-tree创建合并提交并不会神奇地执行合并!