刚开始使用git子树。我跟着the official beginners tutorial。
在我的工作副本A
的目录A
中,我已在子目录B
为存储库B
添加了一个子树。我用于查看B
主人的分支名称也是B
。
我已经在分支B
中提交并检出了A
的主人,git diff-tree -p B
已经提出了与{{}中最后一次提交相对应的差异1}}。
然后我应用了以下命令:
B
并且承诺。
我检查过合并进展顺利,但是之前的git merge --squash -s subtree --no-commit B
命令仍然呈现与diff-tree
中最后一次提交相对应的差异,即使检查{{1}和普通B
我可以看到提交已应用于master,我不知道为什么之前的git log
仍然存在。
为什么以及我做错了什么?
答案 0 :(得分:1)
问题似乎是根据diff-tree帮助它不会“做”那个例子声称它正在做什么。如果你在这种情况下只提供一个树木B
,那么它会将树木与它的父母进行比较。无论你将它合并多少次,父母都不会改变。我认为其中一些已被遮盖了因为在你的例子和他们的例子中都使用了它们的文件夹和分支的相同分支名称。
如果您改为说:
git diff-tree -p HEAD:B B
或git diff-tree -p HEAD:B B/B
它应该表明这两棵树之间没有区别。