赞
踩
git log
的用法Reference:git log 用法
git log [<options>] [<revision-range>] [[--] <path>…]
git log foo bar ^baz # 表示 log/bar 中包含,但是baz中不包含的commit,`^` 在这里表示取反
# `..` 可以实现相同的含义, 注意`..`前后不可以有空格
git log origin..HEAD # 和下面这句表示相同的含义, 表示列出HEAD独有的commit
git log HEAD ^origin
# `...` 可以filter掉二者共同的commit, 注意`...`前后不可以有空格
git log A B --not $(git merge-base --all A B) # 表示A/B 中包含,但是他们最新的父节点不包含的commit
git log A...B # 表示列出A和B独有的commit
testBranch1
和testBranch2
git log testBranch1 testBranch2 # testBranch1或testBranch2 包含的commit
git log ^testBranch1 testBranch2 # testBranch1不包含 testBranch2 包含的commit
git log testBranch1..testBranch2 # testBranch1不包含 testBranch2 包含的commit
git log testBranch1...testBranch2 # testBranch1或testBranch2独有的commit
origin
git log origin/testBranch1 origin/testBranch2 # testBranch1或testBranch2 包含的commit
git log ^origin/testBranch1 origin/testBranch2 # testBranch1不包含 testBranch2 包含的commit
git log origin/testBranch1..origin/testBranch2 # testBranch1不包含 testBranch2 包含的commit
git log origin/testBranch1...origin/testBranch2 # testBranch1或testBranch2独有的commit
如果远端没有这个branch,会报错。
testTag1
和testTag2
git log testTag1 testTag2
git log ^testTag1 testTag2
git log testTag1..testTag2
git log testTag1...testTag2
直接把前面的branch 或者tag 替换成commit id 的hash值即可
git log --pretty='format:%an, %h, %cs, %s' branch1..branch2
输出的格式如下:
Author, commitId, 2023-09-27, commit msg
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。