Git日志显示HEAD点到底在哪里?
Git log to show where exactly HEAD points?
有没有办法让 git 日志以不同的方式显示以下情况:(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日志区分这两种情况?
Git 2.4+(2015 年 4 月)确实向您展示了 HEAD 分支和 detached HEAD after checkout.
之间的明显区别
参见 commit 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 has Git 2.4+ now: PortableGit-2.5.0-64-bit.7z.exe
.
有没有办法让 git 日志以不同的方式显示以下情况:(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日志区分这两种情况?
Git 2.4+(2015 年 4 月)确实向您展示了 HEAD 分支和 detached HEAD after checkout.
之间的明显区别
参见 commit 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 has Git 2.4+ now: PortableGit-2.5.0-64-bit.7z.exe
.