[英]git reflog - branch level summary
git reflog
shows how HEAD moved between commits. git reflog
显示 HEAD 如何在提交之间移动。
Is there a way to show only branches?有没有办法只显示分支?
(ie show only one line per branch visit) (即每次分支访问只显示一行)
One way to list previous HEAD positions is to use the [HEAD]@{-<n>}
construct , where n
means nth last position of HEAD, branch-wise.列出先前 HEAD 位置的一种方法是使用
[HEAD]@{-<n>}
构造,其中n
表示 HEAD 的第 n 个最后位置,分支方式。 But as eftshift0 already mentioned in comments, this is not set in stone information, since branches are moving.但正如eftshift0已经在评论中提到的那样,这并不是一成不变的信息,因为分支机构在移动。 Can be useful in some contexts, though, to understand what happened.
不过,在某些情况下可能有助于了解发生了什么。
Here, an alias to illustrate my point:在这里,一个别名来说明我的观点:
$ git config alias.last '!f() { for i in $(seq 1 $1); do git name-rev --name-only --exclude=refs/tags/\* @{-$i}; done; }; f'
which is just a loop to invoke iteratively git name-rev
( doc ) on each, like这只是一个在每个循环上迭代调用
git name-rev
( doc ) 的循环,比如
git name-rev @{-1}
git name-rev @{-2}
git name-rev @{-3}
# ...and so on
where --exclude=refs/tags/\*
is filtering out tags,其中
--exclude=refs/tags/\*
过滤掉标签,
and --name-only
is here to avoid printing the unnecessary hash并且
--name-only
在这里是为了避免打印不必要的散列
$ git last 5
master
dev
feature/abc
master
feature/abc
Close enough (includes also tags):足够接近(还包括标签):
git reflog -5 --pretty='%d' | uniq
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.