分支中特定提交的git日志

时间:2014-04-02 10:39:59

标签: git

我在特定分支中搜索某个提交ID,虽然提交不在特定分支中我得到了结果,而在git log中没有结果。

  

git log commit_id#finds commit

     

git检查#branch'a'不包含commit_id

     

git log#搜索没有结果的commit_id。

是一个bug还是设计?如果不是一个错误,为什么呢?

提前致谢。

2 个答案:

答案 0 :(得分:3)

git log是该特定分支中的提交列表,它不是错误。如果您只运行git log而没有<sha1>它将以相反的顺序显示该特定分支的提交。

如果要查看提交,可以使用git show <sha1>查看特定提交,而不是特定于分支。

答案 1 :(得分:3)

您需要记住分支只是对提交的引用。如果您说git log <branch>,则表示您实际上在说git log <commit to which this branch points>。有了它,git转到那个提交(或者只是一个指针的分支)并从那里显示历史。

如果您致电git log <commit_id>,则没有任何区别。 git仍然会进入该提交并从那里开始记录。

我再次重复你的理解,分支只是一个指针。它们的存在只是为了让我们的生活更轻松,而且根本不需要。 Git只对他们指向的提交感兴趣。

继续浏览refs/heads目录中.git文件夹中包含的内容。