我有一个本地分支跟踪远程/主分支。在运行git-pull和git-log之后,日志将显示远程跟踪分支和当前分支中的所有提交。但是,由于对远程分支进行了如此多的更改,所以我只需要查看提交到当前本地分支的情况。

要使用什么Git命令来只显示特定分支的提交?

注:

配置信息:

[branch "my-branch"]
  remote = origin
  merge = refs/heads/master

当前回答

如果您只想要那些在特定分支中由您完成的提交,请使用下面的命令。

git log branch_name --author='Dyaniyal'

其他回答

Use:

git log --graph --abbrev-commit --decorate  --first-parent <branch_name>

它只针对目标分支(当然——graph,——abbrev-commit——装饰都比较抛光)。

关键选项是——first-parent:“在看到合并提交时只遵循第一个父提交”(https://git-scm.com/docs/git-log)

它可以防止显示提交叉。

git log $(git branch --show-current)

假设你的分支是从master上创建的,那么在分支中(也就是说,你已经签出了分支):

git cherry -v master

or

git log master..

如果你不在分支中,那么你可以将分支名称添加到“git log”命令中,就像这样:

git log master..branchname

如果你的分支是由origin/master创建的,那么说origin/master而不是master。

对于那些使用Magit的人,点击l和=m来切换-no-merges和=pto toggle -first-parent。

然后再次点击l来显示从当前分支(没有任何提交合并到它)到历史结束的提交,或者,如果你想让日志结束在它从master分支出来的地方,点击o并输入master..作为你的范围:

如果您只想要那些在特定分支中由您完成的提交,请使用下面的命令。

git log branch_name --author='Dyaniyal'