为什么我在我的存储库中找不到合并提交的 git 日志

Why I can't found git log of merge commit in my repository

我直接给你举个问题的例子

我尝试制作 git 我们可以在 git 网上找到的提交日志, 但在本地它给出了未知版本或路径的错误。

示例: 提交:06cf1bf

这是 link 在线: https://github.com/dropwizard/dropwizard/commit/06cf1bf254dc1edf9faa398be099332e00f4778e

但是当我制作

git log $commit

我找不到它

您确定您首先获取了此远程内容吗?尝试

git fetch

git remote update

…将您的本地存储库与远程存储库同步,然后重试。

您还应该查看 $commit 中的内容。请注意,这些命令不会自动将此内容合并到您的本地分支(git pull 也不会),但是一旦对象被遣返到您的本地对象集合中,您就可以通过其 SHA1 总和来调用它。

当您查看 GitHub 上的提交(例如 dropwizard/dropwizard commit 117cd08)时,您会看到它所属的分支。

您引用的提交 (06cf1bf2) 没有引用它的分支。
虽然它可以在 GitHub 上直接访问,但它可能不是常规 git clone.
的一部分 可能是最近 git push --force 重写了该回购的部分历史记录,使提交成为远程回购的 reflog 的一部分。

实际上,我认为我已经解决了问题。它可能是不属于原始存储库的虚拟提交。谢谢你的回复。 这是 link 更多解释来自 github:

https://help.github.com/articles/commit-exists-on-github-but-not-in-my-local-clone/