我试图获得分支A中存在的提交,但是在分支B中不存在。我认为这两个命令会给我相同的结果,但它们不会。
git rev-list A ^B --no-merges | wc -l
git log A ^B --no-merges | wc -l
第一个给我370,而log
返回8000.这两个有什么区别?
答案 0 :(得分:1)
git rev-list
的输出(默认情况下至少是)提交哈希值:
$ git rev-list HEAD^..HEAD
e3a80781f5932f5fea12a49eb06f3ade4ed8945c
默认情况下,git log
的输出更详细:
$ git log HEAD^..HEAD
commit e3a80781f5932f5fea12a49eb06f3ade4ed8945c
Author: Junio C Hamano <gitster@pobox.com>
Date: Wed Feb 21 12:45:35 2018 -0800
Fourth batch for 2.17
第一行是一行(对于一次提交),第二行是五行(对于其日志消息只有一行的提交)。因此,最小比率为5比1,并且:
$ echo 10k 8000 370 / p | dc
21.6216216216
显示您的比率几乎为22比1,这表明您的大部分日志消息平均约为18行。
答案 1 :(得分:0)
基本上git .practiceTypeItem {
&__container {
border-top: 2px solid #E5E9F1;
}
&:last-child &__container {
border-bottom: 2px solid #E5E9F1;
}
}
与git rev-list相同,但是格式特殊。
在git log
和git log
中,您都可以指定格式。
我为我制作了一个别名,以使其具有git log的漂亮的单行输出,请尝试以下操作:
git rev-list
它应该打印与git log --pretty=format:"%C(auto)%ad %h %<(15,trunc)%C(dim white)%an %C(auto)%d %s"
相同的行数,但以更好的可读格式显示,包括日期,作者,短提交时间和提交消息