Git log 显示 HEAD 到底指向哪里?

问题描述 投票:0回答:2

有没有办法让 git log 以不同的方式显示(a)HEAD 指向分支指针且分支指针指向提交,以及(b)HEAD 直接指向提交,并且分支指针指向同一个提交的情况?

例如,如果我这样做

git commit -m'My commit'
git log --oneline --graph --decorate
* 655c6f1 (HEAD, master) My commit

所以现在的情况是:655c6f1 <- master <- HEAD. But if I do

git checkout 655c6f1
git log --oneline --graph --decorate
* 655c6f1 (HEAD, master) My commit

所以现在的情况是:655c6f1 <- master, 655c6f1 <- HEAD. (And I am in a detached HEAD state.)

但是在这两种情况下

git log
输出是相同的。如何让 git log 区分这两种情况?

git git-log
2个回答
5
投票

Git 2.4+(2015 年 4 月)确实向您展示了 HEAD 分支和 签出后分离的 HEAD 之间的明显区别。 请参阅
提交 51ff0f2

这就是当 HEAD 引用分支时您所看到的。

C:\Users\vonc\prog\b2d>git log --oneline --graph --decorate -3 * 8956c85 (HEAD -> master, origin/master) apache/(run/kill): runs/kills gnupg2 as well * 216834a gitolite/run: uses {fgrpath}/.init_envs.sh as a marker

注意

HEAD -> master

部分。

拆下头部时:

C:\Users\vonc\prog\b2d>git log --oneline --graph --decorate -3 * 8956c85 (HEAD, origin/master, master) apache/(run/kill): runs/kills gnupg2 as well * 216834a gitolite/run: uses {fgrpath}/.init_envs.sh as a marker

甚至

Windows 现在也有 Git 2.4+ 了PortableGit-2.5.0-64-bit.7z.exe


    


0
投票

$(git rev-list -g --all)

 添加到您的 
log
。即做到
git log --oneline --graph --decorate $(git rev-list -g --all)

我在

这里找到了它。

© www.soinside.com 2019 - 2024. All rights reserved.