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