I want to combine a subtree merge into a regular (non-merge) commit. I currently do this by first performing the subtree merge, then amending this with the regular changes.
git merge --strategy subtree --strategy-option subtree=subdir $subdir_parent
# stage changes
git commit --amend -m "message"
Is it possible to perform this operation using only plumbing commands? In the commit generated by git merge
, I see no indication of this being a subtree merge commit. When I pass $subtree_parent
as the second parent to git commit-tree
, the resulting commit fails to include the changes of $subtree_parent
.
PS. Are there any objections to adding changes to a merge commit that have nothing to do with the merge?
EDIT I think I understand now. Is it simply the tree of the merge commit that determines how the subtree was merged in? Meaning a subtree of the tree equals the top tree of the second parent.