macOS Sierra 10.12.6에서 .git-completion.bash 생성 오류


40

https://medium.com/@farooqyousuf/autocomplete-git-commands-and-branch-names-in-terminal-on-mac-os-x-4e0beac0388a에git-completion 제공된 설명에 따라 프로세스를 수행 했습니다 .

첫 번째 단계는 터미널 창에서이 명령을 실행하는 것입니다. 기본적으로 'git-completion.bash'스크립트를 가져와 홈 디렉토리에 저장합니다.

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

이제이 줄을 '~ / .bash_profile'에 추가하십시오. git autocomplete 스크립트가 있으면이를 실행할 수 있습니다.

if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

이제 모든 터미널 창을 다시 시작하거나이 스크립트를 사용하려는 터미널 창을 새로 고치면됩니다. 새로 고치려면 다음을 수행하십시오.

source ~/.bash_profile

다음은 tab입력 후 키를 누르는 동안 발생하는 오류입니다 git.

unknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
  [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
  [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
  [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
  <command> [<args>]

git의 어떤 버전을 사용하고 있으며 bash_completion은 어떤 버전을 요구합니까?
user151019

git version 2.17.1
Rishi Kulshreshtha 2018 년

Mac과 Ubuntu에서도 동일하게 적용됩니다. 자식 버전 2.4.7 및 2.17.
wisbucky 2016 년

답변:


55

나는 똑같은 문제에 부딪쳤다. 약간의 파기 끝에 마침내 근본적인 문제가 무엇인지 알아 냈습니다.

그들은 git-completion.bashgit v2.18의 새로운 기능을 필요 로하는 스크립트를 크게 변경했습니다 --list-cmds. 문제는 패키지 관리자가 아직 git v2.18로 업데이트하지 않았다는 것입니다.

대부분의 지침은 raw.githubusercontent.com/git/git/ master/contrib/completion/git-completion.bash 를 다운로드한다고 말합니다. 그러나 때로는 git-completion.bashgit 지원 버전보다 최신 버전을 다운로드하기 때문에 반드시 최선의 선택은 아닙니다 .

따라서 해결책은 git-completion.bashgit 버전과 일치 하는 버전 을 다운로드하는 것 입니다. 그런 다음 다시 소스하십시오. 이 경우 :

https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash

v2.17.1대신 참조하고 있음에 유의하십시오 master. 나중에 git v2.18을 설치하면 master, 또는 v2.18태그로 다시 전환 할 수 있습니다 .


2
정말 감사합니다!! 나는 git-completion.bash이전에 일했던 것을 기억하면서 비슷한 해결책을 찾고 있었습니다.
Rishi Kulshreshtha 2018 년

2
Fan-bloody-tastic
bhu Boue vidya

버전 추적 문제가 해결되었습니다.- stackoverflow.com
a

3

git을 최신 버전으로 업그레이드하는 것이 가장 간단한 해결책입니다. https://git-scm.com/download/mac

그런 다음 단계를 따르십시오

  1. curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

  2. 이 작은 명령을 .bash_profile파일에 추가 하십시오 if [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi


2

소스에서 빌드하지 마십시오. 대신 MacPorts 에서 설치하십시오 .

자동 완성으로 git을 설치하려면 다음 명령을 실행하십시오.

 $ sudo port install git +bash_completion

터미널을 닫았다가 다시 열면 자식 완료가 작동합니다.


나는 이것을 시도했지만 문제를 해결하지 못했습니다. 여전히 동일합니다.
Rishi Kulshreshtha 2018 년

이 명령을 실행 sudo find / -type -name "git-completion.bash"하고 결과를 질문에 게시하십시오.
Allan

1

자식 버전을 확인하고 1.8 이상으로 업데이트해야합니다.

이전 버전 1.7.11이 있었지만 작동하지 않았으며 동일한 오류가 발생했습니다.


git version 2.17.1
Rishi Kulshreshtha 2018 년

0

Homebrew를 사용하는 경우

  1. 업그레이드 git :

    brew upgrade git

  2. 설치된 git-completion.bash를 다음에서 소스하십시오 ~/.bash_profile.

    . /usr/local/etc/bash_completion.d/git-completion.bash

설치된 git 및 complete 스크립트 버전이 일치하는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.