Mac OS X에서 git-completion.bash를 작동시키려면 어떻게 해야 합니까?

Mac OS X에서 git-completion.bash를 작동시키려면 어떻게 해야 합니까?

나는 팔로우했다http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-withoutgit-completion.bash내 항목에 추가하려면/opt/local/etc/bash_completion.d/git-completion

그리고 나는 PS1='\h:\W$(__git_ps1 "(%s)") \u\$ '.bashrc_profile을 넣었습니다.

하지만 이제 나는 -bash: __git_ps1: command not found내가 하는 모든 일을 cd.

제가 무엇을 놓치고 있는지 말씀해 주시겠어요?

답변1

나는 다음을 사용하여 git을 설치했다.MacPort내 새로운 Snow Leopard 설치에 대해. .dmg 이미지에서 MacPorts를 설치한 후 Terminal.app의 명령은 다음과 같습니다.

sudo port selfupdate
sudo port install git-core +bash_completion

SVN 리포지토리 및 문서에서 가져오기를 지원하려면 두 번째 줄 대신 다음 줄을 사용하세요.

sudo port install git-core +bash_completion +doc +svn

그런 다음 ~/.profile 또는 ~/.bash_profile에 다음을 추가합니다.

# MacPorts Bash 쉘 명령 완성
if [ -f /opt/local/etc/bash_completion ]; 그 다음에
    . /opt/local/etc/bash_completion
fi

또는 Mountain Lion 버전 2.1.2 이후의 MacPorts의 경우:

# MacPorts Bash 쉘 명령 완성
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; 그 다음에
  . /opt/local/etc/profile.d/bash_completion.sh
fi

또는 최신 버전의 git이 설치된 MacPort의 경우:

if [ -f /opt/local/share/git-core/git-prompt.sh ]; 그 다음에
    . /opt/local/share/git-core/git-prompt.sh
fi

참고: bash_completion.sh에는 bash 4.1 이상이 필요합니다. 완료가 작동하지 않으면 echo $BASH_VERSION문제가 있는지 확인하십시오. 그렇다면 MacPorts bash를 입력 bash하고 git 완성을 다시 시도하세요.

답변2

homebrew를 사용하여 git을 설치한 경우 MacPorts 조언을 약간 조정하고 이를 .bash_profile.bashrc

if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
. `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi

실행을 위해 homebrew ist를 사용하여 git이 올바르게 설치되었는지 확인하는 가장 좋은 방법

brew info git

git bash 완료의 설치 디렉토리에 대한 출력을 확인하십시오.

최신 버전의 Git(1.7.12)에서도 프롬프트를 활성화하려면 다음이 필요합니다.

if [ -f `brew --prefix`/etc/bash_completion.d/git-prompt.sh ]; then
    . `brew --prefix`/etc/bash_completion.d/git-prompt.sh
fi

답변3

당신이 해야 할 일은 git-completion.bash파일을 사용자 홈 bin디렉터리에 배치하고 다음을 사용자 .profile또는 .bash_profile파일에 배치하는 것뿐입니다.

export PATH="$HOME/bin:$PATH"
source ~/bin/git-completion.bash
PS1='[\u@\h \w$(__git_ps1 " (%s)")]\$ '

이것이 하는 일은 로컬 저장소가 PATH에 있고 명령 source이 제대로 작동하는지 확인하는 것입니다. 물론 PS1 변경으로 인해 현재 체크아웃된 분기가 프롬프트에 표시됩니다.

따라서 GIT의 "완성" 버전을 설치하기 위해 MacPort를 설치할 필요가 없습니다(특히 이미 설치되어 있는 경우 짜증납니다).

답변4

명령 완성 기능을 소싱해야 합니다. PS1 이전에 .bashrc_profile에 추가하십시오.

. /opt/local/etc/bash_completion.d/git-completion

관련 정보