使用环境变量启用 git 的跟踪功能GIT_TRACE
将显示扩展 git 别名后 git 执行的确切命令。
这也将减轻因生成(另一个)shell 及其进行的任何处理而产生的任何开销。
更复杂的 git 命令将提供详细的输出来解释 git 正在做什么。如果您只想知道别名扩展的结果,您可以捕获 stderr 和 grep 进行扩展(参见下面的示例)。但是,请注意使用实际修改存储库的命令来执行此操作(如果适用,请使用 --dry-run)。
例子
将别名ls1
定义为:
~$ cat .gitconfig|grep ls1
ls1 = log --oneline -1
将产生如下输出(在默认分支 master上提交2befe97后在 git自己的存储库上执行):
~/git (master=)$ GIT_TRACE=1 git ls1
11:14:16.075127 git.c:561 trace: exec: 'git-ls1'
11:14:16.075182 run-command.c:334 trace: run_command: 'git-ls1'
11:14:16.078823 git.c:278 trace: alias expansion: ls1 => 'log' '--oneline' '-1'
11:14:16.079032 git.c:344 trace: built-in: git 'log' '--oneline' '-1'
11:14:16.080189 run-command.c:334 trace: run_command: 'pager'
11:14:16.080536 run-command.c:193 trace: exec: 'pager'
2befe97 Eighth batch
~/git (master=)$
赶上扩张
~/git (master=)$ GIT_TRACE=1 git ls1 2>&1 |grep "trace: alias expansion"
11:37:45.014231 git.c:278 trace: alias expansion: ls1 => 'log' '--oneline' '-1'
~/git (master=)$