Hata mesajının kaynağı:
$ git log %ad
fatal: ambiguous argument '%ad': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Aşağıdaki iki komuttan aynı hata iletisini alırsınız:
$ git log --pretty=format:%h %ad | %s%d [%an] --graph --date=short
$ git log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
Sorun git log
şu iki argümanı almasıdır: --pretty=format:%h
(veya --pretty=format:\"%h
) ve %ad
. Geri kalanı, en azından doğrudan bash'de bir komut olarak yürütüldüğünde %s%d
, genellikle mevcut olmayan bir komuttur . Sistemimdeki tam hata mesajı böylece şöyle görünür:
$ git log --pretty=format:%h %ad | %s%d [%an] --graph --date=short
bash: %s%d: command not found
fatal: ambiguous argument '%ad': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Tüm bunlar, alıntılamanın bir şekilde kaybolduğunu ve %ad
git günlüğü için bir parametre olarak yorumlandığını gösterir. Bunu önlemek için, yürütme sırasında biçim dizesinin doğru şekilde alıntılanması için doğru tırnak ve kaçış kombinasyonunu bulmanız gerekir.
Takma ad ve alıntı hakkında git config kılavuzu :
Bağımsız değişkenler boşluklara bölünür, olağan kabuk alıntı ve kaçış desteklenir. teklif çifti ve bir ters eğik çizgi bunları alıntılamak için kullanılabilir.
Bu satırdan alıntı yapmanın ve kaçmanın nasıl çalıştığını anlayamadım. Takma adda bazı alıntı ve kaçış kombinasyonlarını denedim, ancak bundan bir anlam çıkaramadım.
Sorunuza gönderdiğiniz aşağıdaki satırlar sistemimde iyi çalışıyor:
[alias]
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
PuTTY ve hepsini kullanırken sisteminizde doğru kombinasyonu elde etmek için denemeler yapmanız gerekecektir.