Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何在没有签出分支的情况下知道另一个分支top commit_Git - Fatal编程技术网

Git 如何在没有签出分支的情况下知道另一个分支top commit

Git 如何在没有签出分支的情况下知道另一个分支top commit,git,Git,由于我的本地回购中有许多分支机构,而我没有充分利用与git隐藏相关的操作, 我更喜欢使用不同的分支机构来处理不同时期的任务, 虽然现在有一个问题,但随着时间的推移,我记不清每个分支的顶部, 但是逐个签出不同的分支对我来说成本很小,有没有一种方法可以在不签出分支的情况下查询每个分支的顶部提交?还是有正在进行的功能 谢谢 查理使用 git for each ref迭代所有ref并打印其信息 refs/heads将refs限制为本地分支,即refs/heads/*。如果还想查看远程跟踪分支,如orig

由于我的本地回购中有许多分支机构,而我没有充分利用与git隐藏相关的操作, 我更喜欢使用不同的分支机构来处理不同时期的任务, 虽然现在有一个问题,但随着时间的推移,我记不清每个分支的顶部, 但是逐个签出不同的分支对我来说成本很小,有没有一种方法可以在不签出分支的情况下查询每个分支的顶部提交?还是有正在进行的功能

谢谢 查理使用

git for each ref
迭代所有ref并打印其信息

refs/heads
将refs限制为本地分支,即
refs/heads/*
。如果还想查看远程跟踪分支,如
origin/master
,可以添加
refs/remotes


--格式
定义输出
%(refname)
是ref名称的占位符
:lstrip=2
去除整个ref名称的前两部分,如
ref/heads/
refs/remotes/
%(objectname)
是提交的SHA-1<代码>%(主题)是提交消息的主题。这是消息的第一个非空白行。

git log分支机构名称
非常感谢您的评论,我想在检查您粘贴的链接后,应该是git版本高于2.5.6,而遗憾的是我公司的working env git版本只有1.8.3.1,你有什么想法/想法来实现这个目标吗?@CharleyCui我搜索了v1.8.3.1的文档。原因可能是
:lstrip=2
。删除
:lstrip=2
并试一试。@CharleyCui您也可以试一试
%(refname:short)
git for-each-ref refs/heads --format="%(refname:lstrip=2) %(objectname) %(subject)"