Answers:
假设您的分支是根据创建的master
,则在分支中(即,您已将分支签出):
git cherry -v master
要么
git log master..
如果您不在分支中,则可以将分支名称添加到“ git log”命令中,如下所示:
git log master..branchname
如果您的分支是由分支机构组成的origin/master
,请说origin/master
代替master
。
--no-merges
可能似乎只显示来自特定分支的提交,但实际上只显示未导致合并的提交
git log --no-merges --pretty='%C(yellow)%h%d %Creset%an %Cgreen%ar:%Creset %s' --graph master..
采用:
git log --graph --abbrev-commit --decorate --first-parent <branch_name>
它仅适用于目标分支(当然--graph,--abbrev-commit --decorate更为完善)。
关键选项是--first-parent:“在看到合并提交后仅跟随第一个父提交”(https://git-scm.com/docs/git-log)
它防止显示提交叉。
--first-parent <branch_name>
是选项。工程!
--first-parent <branch_name>
也为我工作!我以的别名结尾git log --first-parent $current_branch_name --no-merges
。响应@EdRandall,它将显示分支上的提交+来自分支的提交。例如:
new_feature
从主人那儿分出来的。您将提交C和D添加到其中。然后将E和F添加到master。然后,您将master合并到new_feature
。使用git log
上new_feature
,你会看到“合并大师”,F,E,d,C,A,B。使用git log --first-parent new_feature --no-merges
,你会看到d,C,A,B。
如果只希望您在特定分支中完成的提交,请使用以下命令。
git log branch_name --author='Dyaniyal'
赶紧跑 git log origin/$BRANCH_NAME
git log --no-merges master..
正是我所需要的。