git-completion.bash を Mac OS X で動作させるにはどうすればいいですか?

git-completion.bash を Mac OS X で動作させるにはどうすればいいですか?

私はフォローしました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をインストールしましたMacポート新しい Snow Leopard のインストールで、MacPorts が .dmg イメージからインストールされた後、Terminal.app のコマンドは次のようになります。

sudo port selfupdate
sudo port install git-core +bash_completion

SVN リポジトリとドキュメントからのプルもサポートしたい場合は、2 行目の代わりにこれを使用します。

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

次に、~/.profile または ~/.bash_profile に次の内容を追加します。

# MacPorts Bash シェルコマンド補完
[ -f /opt/local/etc/bash_completion ]の場合;
    . /opt/local/etc/bash_completion
フィ

または、Mountain Lion のバージョン 2.1.2 以降の MacPorts の場合:

# MacPorts Bash シェルコマンド補完
[ -f /opt/local/etc/profile.d/bash_completion.sh ]の場合;
  。 /opt/local/etc/profile.d/bash_completion.sh
フィ

または、git の新しいバージョンを搭載した MacPorts の場合:

[ -f /opt/local/share/git-core/git-prompt.sh ]の場合;
    。 git コアの git プロンプト.sh
フィ

注意: 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

gitが正しくインストールされているかどうかを確認する最良の方法は、homebrew istを使用して実行することです。

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)")]\$ '

これにより、ローカル bin が PATH 内にあることが確認され、sourceコマンドが実行されます。その後、もちろん PS1 の変更により、現在チェックアウトされているブランチがプロンプトに表示されます。

したがって、MacPort をインストールせずに、GIT の「完了」バージョンをインストールします (すでにインストールされている場合は特にイライラします)。

答え4

コマンド補完関数をソースする必要があります。PS1 の前に .bashrc_profile を追加します。

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

関連情報