git이 "당신이 의미 했습니까"제안을하게하려면 어떻게해야합니까?


120

나는 타이핑한다

git puhs

그리고 자식은 말한다 :

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

Did you mean this?
      push

git이 하나의 제안 만있는 경우 제안 된 명령을 수행하도록 구성 설정은 무엇입니까?

답변:


150

에 따르면 자식-config (1)를 , 당신은 설정하려는 help.autocorrect적절. 예를 들어 git config --global help.autocorrect 5는 명령을 실행하기 전에 0.5 초 동안 기다리게하여 메시지를 먼저 볼 수 있도록합니다.


27
음수로 설정하면 직접 수행합니다.
Alper

8
zsh와 유사하게 수정하기 전에 git 프롬프트를 만드는 방법이 있습니까? (예 : " 'puhs'를 'push'[yn]?"로 수정 하시겠습니까? ")
Achal Dave

4
@AchalDave 그렇게하는 코드를 작성하고 git사람들에게 패치 / 브랜치를 제출 하여 코드베이스에 수용하도록 한다면 아마도있을 것입니다 . 현재는 그렇게 작동하지 않습니다 ...
twalberg

1
이것은 정확히 하나의 후보 명령이 있으면 작동하는 것 같습니다. 예를 들어, git stat여러 후보가 있으므로 제안을 사용한 후에도 아무 작업도 수행하지 않습니다. 첫 번째를 선택하는 방법에 대한 제안이 있습니까?
gokul_uf

25

자동 고침은 좋지만 OCD- 자신은 무슨 일이 일어나고 있는지 좀 더 제어해야합니다. 그래서 저는 git이 제공하는 첫 번째 제안을 선택하는 간단한 스크립트를 작성했습니다. 실패한 명령 후에 스크립트를 실행하고 내장 된 bash 히스토리 대체 "bang bang"구문을 사용합니다. 또한 둘 이상의 명령을 포함 할 수있는 것을 입력하는 경우이 명령을 사용하면 첫 번째 옵션이 아닌 다른 하나를 선택할 수 있습니다.

다음과 같이 보일 것입니다.

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

오타를 수정하고 제안을 수행 할 수도 있습니다. git에만 국한되지 않습니다.


지금까지 fuck2 년째 커맨드를 사용 하고 있습니다. "그것 없이는 살 수 없습니다"터미널 수정 중 하나가되었습니다 !!
Noah Sussman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.