2015-11-16 74 views
0

有沒有辦法在執行之前讓Git打印別名命令的語義?顯示擴展版本的Git命令

假設我有別名aadd,我想命令git a實際的輸出前顯示

Executing: git add 

。或者,也許有一個echo子命令,以便我別名aecho add和子命令打印並實際執行該命令?

回答

2

如果您不要介意打印一點點,你可以設置GIT_TRACE變量爲1,git將打印(除其他外)一些關於別名擴展的信息(參見man page)。

在我的情況(我已經定義了一個別名ststatus),這看起來是這樣的:

$ GIT_TRACE=1 git st 
trace: exec: 'git-st' 
trace: run_command: 'git-st' 
trace: alias expansion: st => 'status' 
trace: built-in: git 'status' 

當然,你可以把例如在export GIT_TRACE=1.bashrc有這個始終啓用。

如果你真的想只顯示別名擴展,你很可能定義一個shell別名git運行Git和過濾掉與trace:開始,但不包含alias expansion:輸出的所有行。

+0

如果我'.bashrc'它,是不是會在其他場合添加跟蹤輸出呢? – krlmlr

+0

當然,這會影響你所有的git進程。但是你可以隨意設置和取消設置,也可以像在我的例子中一樣將命令加上前綴,以便只運行一次git。 –