Я обычно использую
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) Mannual 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 succesfully
| * 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