如何打印当前分支以外的分支的日志?
Posted
技术标签:
【中文标题】如何打印当前分支以外的分支的日志?【英文标题】:How can I print the log for a branch other than the current one? 【发布时间】:2015-09-30 20:03:41 【问题描述】:我在一个有一些变化的分支上。更改分支很痛苦,因为某些文件被进程锁定,所以要更改分支,我必须停止所有有锁的进程,然后 stash
进行更改,然后再检查另一个分支以查看其日志。
是否可以查看不同分支的日志而无需检查?
【问题讨论】:
你试过git log <branch>
,其中<branch>
代表感兴趣的分支的名称?
@Jubobs,不,我没有。在求助于搜索互联网并在cherry
和rev-list
周围寻找奇特的建议之前,我应该先尝试一下。
【参考方案1】:
TL;DR
使用
git log <branch>
其中<branch>
是感兴趣的分支的名称。
来自git-log
手册页...
that command's man page 中给出的git-log
概要的简化版本是
git log [<revision range>]
再往下,你可以找到以下段落:
当没有指定
<revision range>
时,默认为HEAD
(即导致当前提交的整个历史记录)
换句话说,git log
等价于git log HEAD
。如果你在一个名为mybranch
的分支上,比如说,这个命令也相当于git log mybranch
。
您希望将日志限制为可从另一个分支访问的提交,即您当前不在的分支。最简单的方法是将感兴趣的分支的名称显式传递给git log
:
git log <branchname>
有关<revision-range>
参数可以采用的多种形式的更多详细信息,请参阅gitrevisions manpage。
【讨论】:
看来您必须先在本地签出分支才能像这样运行“git log”。至少 git 2.27.0 的行为是这样的。 @a_girl 不确定您所说的“本地签出”是什么意思。您可以在本地分支(例如master
)上运行它,无论它是否被检出,也可以在远程分支上(例如origin/master
)。
ooooohhh,现在我明白了。我尝试了git log mybranch
,但它抛出了一个错误,但是当我运行git checkout mybranch; git checkout master; git log mybranch
时,即使没有“origin/”它也能正常工作。这就是为什么我认为我需要先检查我的分支。但我只需要使用“git log origin/mybranch”来查找远程分支的历史记录。谢谢。以上是关于如何打印当前分支以外的分支的日志?的主要内容,如果未能解决你的问题,请参考以下文章
如何查看除 master 以外的分支的 GitHub Contributors Graph?