如何使用Git log查看HEAD指向的具体位置?

3

有没有办法使git log以不同的方式显示以下情况:(a) HEAD指向分支指针,分支指针指向提交;(b) HEAD直接指向提交,分支指针也指向相同的提交?

例如,如果我执行以下操作:

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

现在的情况是:655c6f1 <- master <- HEAD。但如果我执行:
git checkout 655c6f1
git log --oneline --graph --decorate
* 655c6f1 (HEAD, master) My commit

现在的情况是:655c6f1 <- master, 655c6f1 <- HEAD。(而且我处于分离的HEAD状态。)

但是,在这两种情况下,git log输出是相同的。如何使git log区分这两种情况呢?

1个回答

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部分。
当分离HEAD时:
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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接