소스 없이 Git에서 zsh 탭 완성을 사용하는 방법은 무엇입니까?

소스 없이 Git에서 zsh 탭 완성을 사용하는 방법은 무엇입니까?

나는 사용하고있다다루기 힘든그리고아 맙소사우분투 18.04.2에서. 지금,자식버전 2.20.1에 설치되었습니다.

로컬 분기를 원격( )으로 푸시하고 싶을 때마다 origin다음과 같이 셸에서 탭 완성을 사용하려고 합니다.

git push origin fea<TAB>

탭 완료 결과는 다음과 같습니다.

git push origin origin/feature

하지만 밀 수는 없어요 origin/feature. 내가 정말로 원하는 것은:

git push origin feature

에도 동일하게 적용됩니다 git checkout.

원격 분기를 올바르게(?) 완료하도록 탭 완성을 구성하려면 어떻게 해야 합니까? 아니면 뭔가 빠졌습니까?

답변1

이는 git 자체 완료와 oh-my-zsh 완료 사이의 충돌일 수 있습니다.

여기에서 작동하는 솔루션을 찾았습니다. https://www.raphael-brugier.com/blog/fix-git-completion-zsh-mac-homebrew/

따라서 환경에 따라 .zshrc에서 git 완성을 비활성화해야 할 수도 있습니다.

compdef -d git

또한 이런 문제 때문에 Zsh 버전을 업그레이드하는 것이 도움이 될 것 같습니다.Zsh 4.3.10 이상에서 수정된 것으로 알려짐.

관련 정보