[英]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.