我通常使用
git log --graph --full-history --all --pretty=format:"%h%x09%d%x20%s"
使用颜色(如果您的外壳是Bash):
git log --graph --full-history --all --color \
--pretty=format:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s"
这将打印基于文本的表示形式,如下所示:
* 040cc7c (HEAD, master) Manual is NOT built by default
* a29ceb7 Removed offensive binary file that was compiled on my machine and was hence incompatible with other machines.
| * 901c7dd (cvc3) cvc3 now configured before building
| * d9e8b5e More sane Yices SMT solver caller
| | * 5b98a10 (nullvars) All uninitialized variables get zero inits
| |/
| * 1cad874 CFLAGS for cvc3 to work successfully
| * 1579581 Merge branch 'llvm-inv' into cvc3
| |\
| | * a9a246b nostaticalias option
| | * 73b91cc Comment about aliases.
| | * 001b20a Prints number of iteration and node.
| |/
|/|
| * 39d2638 Included header files to cvc3 sources
| * 266023b Added cvc3 to blast infrastructure.
| * ac9eb10 Initial sources of cvc3-1.5
|/
* d642f88 Option -aliasstat, by default stats are suppressed
(您可以只使用git log --format=oneline
,但是它将提交消息与数字绑定在一起,恕我直言看起来不太漂亮)。
要为此命令创建快捷方式,您可能需要编辑~/.gitconfig
文件:
[alias]
gr = log --graph --full-history --all --color --pretty=tformat:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s%x20%x1b[33m(%an)%x1b[0m"
但是,正如Sodel the Vociferous在注释中指出的那样,很难记住这么长的格式化命令。通常,这不是问题,因为您可以将其放入~/.gitconfig
文件中。但是,如果有时您必须登录到无法修改配置文件的远程计算机,则可以使用更简单但输入速度更快的版本:
git log --graph --oneline