Komutları bir git takma adının içinde çalıştırmak ve özellikle bu komutlara argümanlar iletmek için, daha sonra hemen çağıracağınız geçici bir işlev oluşturmanız gerekecektir:
$ vim ~/.gitconfig
...
[alias]
foo = "! echo begin arg=$1/$2/end"
foo2 = "!f() { echo "begin arg=$1/$2/end"; }; f"
Bu örnekte, işlev muhtemelen ihtiyacınız olan şeydir (ve ayrıca tek bir "ifadede" ne yapabileceğiniz konusunda daha esnektir); ve muhtemelen her iki seçenek için de git komutunun kalan argümanlarının, "echo" veya "f" olup olmadığına bakılmaksızın, basitçe diğer ada değiştirge olarak aktarıldığını anlayabilirsiniz; işlevi çağırmak, açıkça kullanılmayanları yok sayarak bağımsız değişkenleri tüketir:
$ git foo a b c
begin arg=a/b/end a b c
$ git foo2 a b c
begin arg=a/b/end
Başka bir örnek (eşleşen desene göre tüm diğer adları listeler) (not: .gitconfig içinde aynı işlev adını "f ()" yeniden kullanmaya devam edebilirsiniz):
[alias]
alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"
İlki sadece "foo $" için diğer adı, "foo. *" İçin döndürür:
$ git alias foo
alias.foo ! echo begin arg=$1/$2/end
$ git alias 'foo.*'
alias.foo ! echo begin arg=$1/$2/end
alias.foo2 !f() { echo begin arg=$1/$2/end; }; f
(not: gerçek sonuçlar kabuğa göre değişebilir; bunu Linux, Unix ve Cygwin (Windows) üzerinde bash ile kullanıyorum.)