ฉันจะทำตามคำแนะนำที่“ คุณหมายถึง” ได้อย่างไร


120

ฉันพิมพ์

git puhs

และคอมไพล์พูดว่า:

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

Did you mean this?
      push

การตั้งค่า config เพื่อสร้าง git คืออะไรทำตามคำสั่งที่แนะนำหากมีเพียงคำแนะนำเดียว

คำตอบ:


150

ตามgit-config (1)คุณต้องการตั้งค่าhelp.autocorrectอย่างเหมาะสม ตัวอย่างเช่นgit config --global help.autocorrect 5จะทำให้รอครึ่งวินาทีก่อนเรียกใช้คำสั่งเพื่อให้คุณเห็นข้อความก่อน


27
หากคุณตั้งค่าเป็นจำนวนลบมันจะดำเนินการโดยตรง
Alper

8
มีวิธีทำให้ git prompt ก่อนแก้ไขคล้ายกับ zsh หรือไม่? (เช่น "ถูกต้อง" puhs "เป็น" push "[yn]?")
Achal Dave

4
@AchalDave อาจเป็นไปได้ว่าถ้าคุณเขียนโค้ดเพื่อทำเช่นนั้นและส่งแพทช์ / สาขาให้กับgitคนอื่น ๆ เพื่อให้ได้รับการยอมรับในฐานรหัส ปัจจุบันมันใช้ไม่ได้แล้ว ...
twalberg

1
ดูเหมือนว่าจะใช้งานได้ถ้ามีคำสั่งตัวเลือกเดียว ตัวอย่างเช่นgit statไม่ทำอะไรเลยแม้จะใช้คำแนะนำของคุณเนื่องจากมีผู้สมัครหลายคน ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีการเลือกข้อแรก?
gokul_uf

25

การแก้ไขอัตโนมัติเป็นสิ่งที่ดี แต่ OCD-self ของฉันต้องการควบคุมสิ่งที่เกิดขึ้นอีกเล็กน้อย ดังนั้นฉันจึงเขียนสคริปต์ที่ตรงไปตรงมาซึ่งเพียงแค่เลือกคำแนะนำแรกที่ได้รับจาก git คุณรันสคริปต์หลังจากคำสั่งที่ล้มเหลวและใช้ไวยากรณ์ "bang bang" ที่สร้างขึ้นมาแทนประวัติ bash นอกจากนี้หากคุณกำลังพิมพ์สิ่งที่อาจมีมากกว่าหนึ่งคำสั่งคำสั่งนี้ให้คุณเลือกคำสั่งอื่นนอกเหนือจากตัวเลือกแรก

มันจะเป็นแบบนี้

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)

นอกจากนี้ยังสนุกกับการพิมพ์อะไรก็ได้โดยมีเครื่องหมายอัศเจรีย์สองตัว ดังนั้นโบนัสสำหรับสิ่งนั้น

นี่คือส่วนสำคัญของสคริปต์ของฉัน


1
แม้ว่าจะเป็นเที่ยงตรง, พิมพ์เร็วกว่าการพิมพ์git push idid !!แต่ในกรณีอื่นสคริปต์นี้จะมีประโยชน์ :)
theonlygusti

18

เป็นอีกทางเลือกหนึ่งสำหรับ help.autocorrect: หากคุณพิมพ์ผิดเหมือนกันตลอดเวลาคุณสามารถสร้างนามแฝงสำหรับพวกเขาในไฟล์. gitconfig ของคุณ

[alias]
    puhs = push

(ฉันทำสิ่งนี้ด้วยนามแฝงเชลล์ด้วยซึ่งดูเหมือนว่าฉันจะพิมพ์ไม่mkae^H^H^H^Hmakeถูกต้องเลย)


17

ลองดูที่ thefuck

สามารถแก้ไขการพิมพ์ผิดและยังให้คำแนะนำ ไม่ จำกัด เพียงแค่คอมไพล์เท่านั้น


ฉันใช้fuckคำสั่งมา 2 ปีแล้วมันกลายเป็นหนึ่งในการดัดแปลงเทอร์มินัลที่ "ขาดไม่ได้" ของฉัน !!
Noah Sussman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.