ChatGPT解决这个技术问题 Extra ChatGPT

如何打印当前分支以外的分支的日志?

我在一个有一些变化的分支上。更改分支很痛苦,因为某些文件被进程锁定,因此要更改分支,我必须停止所有有锁的进程,然后在检查另一个分支以查看其日志之前 stash 进行更改。

是否可以查看不同分支的日志,而无需检查它?

您是否尝试过 git log <branch>,其中 <branch> 代表感兴趣的分支的名称?
@Jubobs,不,我没有。在求助于搜索互联网并找到有关 cherryrev-list 的奇特建议之前,我应该先尝试一下显而易见的事情。

j
jub0bs

TL;博士

利用

git log <branch>

其中 <branch> 是感兴趣的分支的名称。

从 git-log 手册页...

that command's man page 中给出的 git-log 概要的简化版本是

git log [<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”来查找远程分支的历史记录。谢谢你。