Git'e "bunu mu demek istedin" önerisini nasıl yaptırabilirim?


120

Yazıyorum

git puhs

Ve git diyor:

kristian@office:~/myrepo$ git puhs
git: 'puhs' is not a git command. See 'git --help'

Did you mean this?
      push

Git'in sadece bir önerisi varsa önerilen komutu yerine getirmesini sağlayacak yapılandırma ayarı nedir?

Yanıtlar:


150

Göre git-yapılandırmasına (1) , ayarlamak istediğiniz help.autocorrectuygun. Örneğin git config --global help.autocorrect 5, komutu çalıştırmadan önce yarım saniye bekletecektir, böylece mesajı ilk olarak görebilirsiniz.


27
Negatif bir sayıya ayarlarsanız, doğrudan yapar.
Alper

8
Düzeltmeden önce git istemi yapmanın zsh'a benzer bir yolu var mı? (örneğin, "itmek" [yn] için "doğru 'puhs?")
Achal Dave

4
@AchalDave Bunu yapmak için bir kod yazarsanız ve yamayı / dalı gitkod tabanına kabul etmesi için insanlara gönderirseniz, muhtemelen vardır . Şu anda bu şekilde çalışmıyor ...
twalberg

1
Bu, tam olarak bir aday komut varsa işe yarıyor gibi görünüyor. Örneğin git stat, birden fazla adayı olduğu için önerinizi kullandıktan sonra bile hiçbir şey yapmaz. İlkini nasıl seçeceğine dair herhangi bir öneriniz var mı?
gokul_uf

25

Otomatik düzeltme güzel, ama OKB-benliğimin neler olduğu üzerinde biraz daha fazla kontrole ihtiyacı var. Bu yüzden, git tarafından sağlanan ilk öneriyi seçen basit bir komut dosyası yazdım. Betiği başarısız komuttan sonra çalıştırırsınız ve yerleşik bash geçmişi ikamesi "bang bang" sözdizimini kullanırsınız. Ayrıca, birden fazla komuta sahip olabilecek bir şey yazıyorsanız, bu komut ilk seçenekten başka birini seçmenize izin verir.

Böyle bir şeye benzeyecekti,

kristian@office:~/myrepo$ git puhs
git: 'puhs' is not a git command. See 'git --help'

Did you mean this?
      push

kristian@office:~/myrepo$ idid !!
Counting objects: 18, done.
Delta compression using up to 32 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 1.17 KiB, done.
Total 10 (delta 6), reused 0 (delta 0)

Ayrıca, iki ünlem işaretli herhangi bir şey yazmak eğlencelidir. Bunun için bonus.

İşte senaryomla ilgili bir özet


1
Dürüst olmak gerekirse, yazmak yazmaktan git pushdaha hızlıdır idid !!. Ancak diğer durumlarda bu komut dosyası yararlı olacaktır :)
theonlygusti

18

Help.autocorrect'e bir alternatif olarak: Her zaman aynı yazım hatalarını yapıyorsanız, .gitconfig dosyanızda bunlar için takma adlar oluşturabilirsiniz.

[alias]
    puhs = push

(Bunu asla mkae^H^H^H^Hmakedoğru yazamadığım kabuk takma adlarıyla da yapıyorum .)


17

Ayrıca bir göz atın thefuck

Yazım hatalarını düzeltebilir ve ayrıca önerilerde bulunabilir. Sadece git ile sınırlı değil.


fuckKomutu 2 yıldır kullanıyorum , benim "onsuz yaşayamam" terminal modifikasyonlarımdan biri haline geldi !!
Noah Sussman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.