git diff-tree显示已经合并的changeset

时间:2015-04-27 16:40:36

标签: git merge git-subtree

刚开始使用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仍然存在。

为什么以及我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题似乎是根据diff-tree帮助它不会“做”那个例子声称它正在做什么。如果你在这种情况下只提供一个树木B,那么它会将树木与它的父母进行比较。无论你将它合并多少次,父母都不会改变。我认为其中一些已被遮盖了因为在你的例子和他们的例子中都使用了它们的文件夹和分支的相同分支名称。

如果您改为说:
git diff-tree -p HEAD:B Bgit diff-tree -p HEAD:B B/B它应该表明这两棵树之间没有区别。