簡體   English   中英

如何獲得bash自動完成功能,以使其與使用shell命令的git別名一起使用?

[英]How do I get bash autocomplete to work with git aliases that use shell commands?

在我的git config中,我有一個相對較長的別名,該別名以一種漂亮的格式輸出最近的git commit的日志:

lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'

我還通過在命令中添加--all選項,在前一個別名的基礎上建立了另一個別名。 我不想通過在兩個別名中都指定整個命令字符串來重復自己,所以我只是將新的別名shell擴展到上一個別名:

la = !git lg --all

這很好用,但是有一個問題:雖然分支名稱的自動補全在我的常規git lg別名下可以正常工作,但是對於炮轟的那一點根本不起作用。

如何使git分支名稱的自動補全功能與可用於其他命令的別名一起使用?

注意:此問題與如何使用別名完成bash補全不同? ,因為該問題處理的是git命令的bash別名,而不是git的內置別名系統。

在這種情況下,鍵入任何分支名稱將得到相同的結果,因為--all選項顯示所有引用。 但是,如果您添加

function _git_la() {
  _git_log
}

到您的Shell啟動文件中,它應該正確自動完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM