git 当 HEAD 落后于 tip 时记录?
git log when HEAD is behind tip?
假设 HEAD 在 master 中处于最后一次提交,日志如下所示
$ git log --oneline
bcaee1c 15 July update
02ff17a add feature x
0910b6f end of weekly update
c2b7189 add 03 july update
737be94 add feature y
现在我想去看看过去:
$ git checkout 0910b6f
现在日志没有显示最近状态的提示 -- 来自 HEAD 的相对未来
$ git log --oneline
0910b6f end of weekly update
c2b7189 add 03 july update
737be94 add feature y
好的,没问题,我只是 "remember" 或 "write down" furthest-ahead 提交是 bcaee1c
,我可以返回 git checkout bcaee1c
,但是 BAMMO,来了一个 phone 电话,一堆紧急会议,强制重启,一个周末,我 "forget" 和/或丢失了便利贴。我(很)晚回来,所有的精神背景都被吹散了,开始创作,后来才发现我搞砸了,并且有一份重置、恢复和倒带的取证工作。
我能得到git log
来展示HEAD
的未来吗?这种情况有更好的git-fu吗?
有两件事可以帮助您:
1 回到分支的顶端(在你的情况下是 master):
git checkout master
2 for git 日志显示所有提交,而不仅仅是从头部开始:使用 --all
git log --oneline --all
注意
在您的情况下,git checkout master
和 git checkout bcaee1c
可能看起来相同,但并不完全相同;你必须检查你的分行;否则你将保持 分离头 状态。
edit 2 我经常使用的一个单行命令来概览整个树:
git log --all --online --decorate --graph
要显示所有提交、分支、标记,您可以在文件中添加这一行 ~/.gitconfig
tree = log --graph --decorate --pretty=oneline --abbrev-commit --all
您可以 运行 使用:
git tree
我喜欢使用一些 Git 别名来查看标签和分支的完整布局,以及其他有用的提示。
在 .gitconfig 中:(在本地、用户或系统等效文件中)
# line-breaks for readability, join them to make it work
[alias]
lg = "log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset
%s %Cgreen(%Cred%cn%Cgreen:%cr)%Creset'
--abbrev-commit --date=relative"
head = !"git log -n1"
l = log --pretty=oneline -n 20 --graph --abbrev-commit
# Show verbose output about tags, branches or remotes
branches = branch -a
remotes = remote -v
tags = tag -l
其他 'dotfiles' 可用(在 Github 或各种 Git 网站上),我鼓励您自己收集!
这是 git lg
别名输出的示例
* 37478ff - (HEAD -> master) latest posts (Alister Bulman:6 weeks ago)
* fbde015 - (origin/master) new base URL alias (Alister Bulman:9 weeks ago)
* 5109d77 - new posts and some edits (Alister Bulman:9 weeks ago)
* 1f45eea - Merge branch 'example-blog' (Alister Bulman:1 year, 2 months ago)
|\
| * f361dd6 - new style, and big rebuild (Alister Bulman:1 year, 2 months ago)
* | a60819d - tmp layout files I am trying (Alister Bulman:1 year, 2 months ago)
* | 2b231e0 - new content (Alister Bulman:1 year, 2 months ago)
|/
* 7852089 - (feature/hugo) new posts (Alister Bulman:1 year, 3 months ago)
* ccdc2a0 - fix category tags (Alister Bulman:1 year, 3 months ago)
可读性很强。如果 ytou 在树的后面工作 - 那么 (HEAD) 将显示在更下方,您仍然会在顶部看到最近的签到。
假设 HEAD 在 master 中处于最后一次提交,日志如下所示
$ git log --oneline
bcaee1c 15 July update
02ff17a add feature x
0910b6f end of weekly update
c2b7189 add 03 july update
737be94 add feature y
现在我想去看看过去:
$ git checkout 0910b6f
现在日志没有显示最近状态的提示 -- 来自 HEAD 的相对未来
$ git log --oneline
0910b6f end of weekly update
c2b7189 add 03 july update
737be94 add feature y
好的,没问题,我只是 "remember" 或 "write down" furthest-ahead 提交是 bcaee1c
,我可以返回 git checkout bcaee1c
,但是 BAMMO,来了一个 phone 电话,一堆紧急会议,强制重启,一个周末,我 "forget" 和/或丢失了便利贴。我(很)晚回来,所有的精神背景都被吹散了,开始创作,后来才发现我搞砸了,并且有一份重置、恢复和倒带的取证工作。
我能得到git log
来展示HEAD
的未来吗?这种情况有更好的git-fu吗?
有两件事可以帮助您:
1 回到分支的顶端(在你的情况下是 master):
git checkout master
2 for git 日志显示所有提交,而不仅仅是从头部开始:使用 --all
git log --oneline --all
注意
在您的情况下,git checkout master
和 git checkout bcaee1c
可能看起来相同,但并不完全相同;你必须检查你的分行;否则你将保持 分离头 状态。
edit 2 我经常使用的一个单行命令来概览整个树:
git log --all --online --decorate --graph
要显示所有提交、分支、标记,您可以在文件中添加这一行 ~/.gitconfig
tree = log --graph --decorate --pretty=oneline --abbrev-commit --all
您可以 运行 使用:
git tree
我喜欢使用一些 Git 别名来查看标签和分支的完整布局,以及其他有用的提示。
在 .gitconfig 中:(在本地、用户或系统等效文件中)
# line-breaks for readability, join them to make it work
[alias]
lg = "log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset
%s %Cgreen(%Cred%cn%Cgreen:%cr)%Creset'
--abbrev-commit --date=relative"
head = !"git log -n1"
l = log --pretty=oneline -n 20 --graph --abbrev-commit
# Show verbose output about tags, branches or remotes
branches = branch -a
remotes = remote -v
tags = tag -l
其他 'dotfiles' 可用(在 Github 或各种 Git 网站上),我鼓励您自己收集!
这是 git lg
别名输出的示例
* 37478ff - (HEAD -> master) latest posts (Alister Bulman:6 weeks ago)
* fbde015 - (origin/master) new base URL alias (Alister Bulman:9 weeks ago)
* 5109d77 - new posts and some edits (Alister Bulman:9 weeks ago)
* 1f45eea - Merge branch 'example-blog' (Alister Bulman:1 year, 2 months ago)
|\
| * f361dd6 - new style, and big rebuild (Alister Bulman:1 year, 2 months ago)
* | a60819d - tmp layout files I am trying (Alister Bulman:1 year, 2 months ago)
* | 2b231e0 - new content (Alister Bulman:1 year, 2 months ago)
|/
* 7852089 - (feature/hugo) new posts (Alister Bulman:1 year, 3 months ago)
* ccdc2a0 - fix category tags (Alister Bulman:1 year, 3 months ago)
可读性很强。如果 ytou 在树的后面工作 - 那么 (HEAD) 将显示在更下方,您仍然会在顶部看到最近的签到。