繁体   English   中英

列出不再在分支上的提交

[英]List commits no longer on branch

仅使用 git,如何列出不再位于该分支上的分支上的提交?

在这里我必须使用 comm/diff

comm -23 <(git reflog @{0} --pretty='%h' | sort -u) <(git log @{0} --pretty='%h' | sort -u)

要进行测试,您可以创建几个提交并将分支硬重置回其原始的 state。现在,reflog 将包含分支上不再存在的提交。

git reflog --pretty=%H $thatbranch | git rev-list --stdin --not $thatbranch

并且您可以在git log中为git rev-list子,以获得的不仅仅是一个列表。

您可以在两个引用之间使用对称差异( ...运算符):

git log --pretty='%h' HEAD@{1}...HEAD

这相当于:

git log --pretty='%h' HEAD@{1}...<reset_branch>

两者都将显示提交不再可从您的分支访问但可从HEAD@{1}访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM