2012-06-23 5 views
26

나는 Debit squeeze (6.0)에서 힘내 (version 1.7.2.5) bash compeletion을 사용하고있다. 힘내는 aptitude와 함께 설치되었고 명령 행 자동 완성을 지원하는 표준 debian의 bash을 사용하고 있습니다.Git 명령에 대해 자동 완성을 설정하려면 어떻게해야합니까?

이제 Git (1.5.6.5)를 다른 컴퓨터 (Lenny/Debian 5.0)에 설치했는데 자동 완성이 없습니다.

  1. 두 번째 시스템에서 자동 완성 기능이 작동하지 않는 이유는 무엇입니까? 어떻게 진단 할 수 있습니까?

  2. 내 컴퓨터에서 어떤 작업을 완료합니까? 파일 git-completion.bash을 찾았지만 내 컴퓨터에없는 것 같습니다. Git은 어떻게 작동합니까?

  3. 다른 컴퓨터에 어떻게 완료 할 수 있습니까?

+0

: 그렇지 않으면, 당신은 항상에서 복사 할 수 있습니다 : //unix.stackexchange.com) – poncha

+0

소스에서 컴파일 한 경우 자동 완성 기능을 사용하여 git을 컴파일했는지 확인하십시오. 또한 이전 시스템과 동일한 쉘을 사용하고 있고 자동 완성을 지원하는지 확인하십시오. 보시다시피, 나는 그것을 일으키는 원인이 무엇인지 확신 할 수 없어서 의견으로 남겨 두었습니다. 아마도 쉘이 쉘을 완성하지 않았거나 제대로 설치하지 못하는 것일 것입니다. 행운을 빕니다. –

+0

@poncha 감사합니다. 나는 unix.stackexchange.com – redochka

답변

26

git 자동 완성을 사용하려면 source /etc/bash_completion.d/git해야합니다. 내에서

.bashrc이 함께 할 것 : /etc/bash_completion 이미도 /etc/bash_completion.d에있는 스크립트를 포함하고 ~/.bashrc

if [ -f /etc/bash_completion ]; then 
    . /etc/bash_completion 
fi 

스크립트/프로그램에서 다음 줄을 넣어

for file in /etc/bash_completion.d/* ; do 
    source "$file" 
done 
+2

'/ etc/bash_completion.d /'안에있는 완료 스크립트 중 일부는'bash_completion'에 정의 된 도우미 함수를 사용했기 때문에 이것은 저에게 효과가 없었습니다. – joelpet

+0

이것은'/ etc/bash_completion' 파일이 없기 때문에 CentOS 7에서 작동합니다. – Walf

38

이 필요한 일부 기능을 정의 포함 된 스크립트.

+2

Fedora 20 시스템에서'bash_completion'은'/ usr/share/bash-completion /'에 있습니다. 'updatedb && locate bash_completion'을 실행하면 도움이 될 것입니다. – joelpet

+1

이것은 "내 명령이 없습니다"라는 문제도 해결되었습니다. "have"기능은/etc/bash_completion에 정의되어 있으며 /etc/bash_completion.d/에있는 많은 스크립트가 이에 의존합니다. – jdunk

11

데비안 힘내 대한 배시 자동 완성 기능을 활성화하기위한 최단의 방법은 ~/.bashrc

source /etc/bash_completion.d/git 

추가 (및 상기 단말기를 다시 시작)한다.

여기도 참조하십시오 : "Pro Git"-> 2.7 Git Basics - 팁과 트릭 ->Auto-Completion.

0

~/.bashrc 파일을 편집하려면 메모장 ++를 사용하십시오. 줄 맨 앞에 #을 붙여서 줄을 긋습니다. 파일을 저장하십시오. 예 :# 소스 C : \ cygwin64/etc/bash_completion.d/git

전체 파일 경로를 'source'다음에 '/ etc /'앞에 두는 것을 잊지 마십시오. 예를 들어, my cygwin64 내 파일 경로가 c 있도록 '등'폴더가 폴더 내 C 드라이브에 : 내 bashrc에 파일에 포함 된 \ cygwin64/등 때문에 라인은 다음과 같습니다

# source c:\cygwin64/etc/bash_completion.d/git 

저장 bashrc에 파일. Cygwin 터미널 열기 ... 붐! 시간이야. 다음 명령을 입력하면 작동했습니다. git clone git:\/\/github.com/magnumripper/JohnTheRipper -b bleeding-jumbo JtR-Bleeding

+3

질문은 데비안에 관한 것이지, 윈도우에 관한 것이 아닙니다. – oromoiluig

7

누락 된 경우이 패키지를 설치해야합니다. 그런 다음 로그 아웃하고 로그인하십시오.

apt-get install bash-completion 
0

실수로 ~/.bashrc 파일을 삭제했기 때문에 git 자동 완성이 사라집니다. bashrc 파일이 홈 디렉토리에 있는지 확인하십시오.이 * * 중 [serverfault.com] (http://serverfault.com) 또는 [unix.stackexchange.com] (HTTP에 더 적합 질문 할 수있다

/etc/skel/.bashrc 
관련 문제