我在自己的机器上单独使用Git,我发现很难维护所有分支和提交的心理模型。我知道我可以通过git日志查看提交历史,但是有没有一种方法可以查看整个分支地形,就像这些ASCII映射一样,似乎到处都在用它来解释分支?
.-A---M---N---O---P
/ / / / /
I B C D E
\ / / / /
`-------------'
感觉就像有人来找我的存储库时,很难弄清楚到底发生了什么。
我猜我是受到了AccuRev的流媒体浏览器的影响…
Git内置的工具(没有附加组件)具有日期时间格式
现有的答案都没有显示如何使用内置的git日志工具更改日期-时间格式。由于文档对这个特性有点迟钝,我添加了两个别名作为示例。
git树-所有提交的时间戳日志
# Tools for analyzing the merge history of a repo using tree-like graphics
[alias]
tree = log --no-show-signature --graph --date=format-local:%H:%M:%S --all \
--pretty="'%C(#ffe97b ul)%h%C(reset) %C(#568ea6)%cs %C(#305f72)%cd%C(reset)%C(auto)%d%C(reset) %s %C(yellow)(%C(reset)%C(#1abc9c)%an%C(reset)%C(yellow),%C(reset) %C(#007055)%cr%C(reset)%C(yellow))%C(reset)'"
git树。分支——所有分支/标签提交的时间戳日志
# Some refinements to normal 'git tree' output for alternative perspectives.
[alias "tree"]
branches = tree --simplify-by-decoration
颜色代码
Spec |
Color |
Style |
Commit ID |
Yellow |
Underline |
Commit date |
Dark Blue |
|
Commit time |
Light Blue |
|
Commit message |
White |
|
Commit Author |
Green |
|
Commit relative date |
Dark Green |
|
Remote branches |
Red |
|
Local branches |
Purple |
|
Tags |
Pink |
Underline |
我喜欢,用git日志,做:
git log --graph --oneline --branches
(还有——all,用于查看远程分支)
与最新Git版本的配合:自1.6.3以来引入(2009年5月7日星期四)
“——pretty=<style>”选项到命令日志族现在可以拼写为“——format=<style>”。
此外,——format=%formatstring是——pretty=tformat:%formatstring的简写。
"——oneline"是"——pretty=oneline -abbrev-commit"的同义词。
PS D:\git\tests\finalRepo> git log --graph --oneline --branches --all
* 4919b68 a second bug10 fix
* 3469e13 a first bug10 fix
* dbcc7aa a first legacy evolution
| * 55aac85 another main evol
| | * 47e6ee1 a second bug10 fix
| | * 8183707 a first bug10 fix
| |/
| * e727105 a second evol for 2.0
| * 473d44e a main evol
|/
* b68c1f5 first evol, for making 1.0
你也可以限制日志显示的跨度(提交的数量):
PS D:\git\tests\finalRepo> git log --graph --oneline --branches --all -5
* 4919b68 a second bug10 fix
* 3469e13 a first bug10 fix
* dbcc7aa a first legacy evolution
| * 55aac85 another main evol
| | * 47e6ee1 a second bug10 fix
(只显示最后5次提交)
我不喜欢当前选择的解决方案是:
git log --graph
它显示了太多的信息(当我只想看一个快速的摘要):
PS D:\git\tests\finalRepo> git log --graph
* commit 4919b681db93df82ead7ba6190eca6a49a9d82e7
| Author: VonC <vonc@laposte.net>
| Date: Sat Nov 14 13:42:20 2009 +0100
|
| a second bug10 fix
|
* commit 3469e13f8d0fadeac5fcb6f388aca69497fd08a9
| Author: VonC <vonc@laposte.net>
| Date: Sat Nov 14 13:41:50 2009 +0100
|
| a first bug10 fix
|
Gitk很棒,但迫使我离开shell会话到另一个窗口,而快速显示最后n次提交通常就足够了。