ターミナルでコマンドプロンプトを変更しようとしています。私はエラーを受け続けます:
-bash: __git_ps1: command not found
そのまま端末に入力するだけで試しました:__git_ps1
。 .bash_profile
でも試してみました
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
見ることができるかもしれないので、はい、私は自動補完をインストールしてもらえます、そして、それは素晴らしい仕事をします!
私はこの質問に出くわしました: " PS1 env変数はMacでは動作しません "これはコードを与える
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
それで私はそれが何かを変えることを望んで私の.bash_profile
にそれを加えます。まあ、それはしました。エラー出力を変更しただけです。
これが.bash_profile
に追加されたものです。
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
そして今ここに変更されたエラー出力があります:
sed: (%s): No such file or directory
注:エイリアスをソースの下に移動しても違いはありません。私は持っていますgit version 1.7.12.1
これは簡単な変更です。誰かが私を助けてもらえますか?
12月13日編集
いいえ、__ git_ps1を自分で定義することは絶対に避けたいのですが、そうすることによって認識されるかどうかを確認しようとしただけでした。はい、.git-completion.bash
ファイルをインストールしました。これが私のマシンの自動補完の方法です。
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
ls -la
は.git-completion.bash
ファイルをリストします。
編集10/13/12 - 解決しましたMark Longair(下記)
次のコードは.bash_profile
で私のために働きましたが、他の人はしませんでした...
if [ -f ~/.git-Prompt.sh ]; then
source ~/.git-Prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
master
からgit-completion.bash
のバージョンをインストールしました - これはgitの開発史上、__git_ps1
関数を補完機能から新しいファイル(git-Prompt.sh
)に分割したコミットの後です。この変更を導入した論理的根拠を説明するコミットは、 af31a456 です。
私はあなたのgitのインストールにバンドルされているgit-completion.bash
(またはgit-Prompt.sh
)のバージョンを単にソースにすることをお勧めします。
ただし、何らかの理由でmaster
から別にダウンロードされたスクリプトを使用してこの機能を引き続き使用する場合は、同様にgit-Prompt.sh
をダウンロードする必要があります。
curl -o ~/.git-Prompt.sh \
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-Prompt.sh
... ~/.bash_profile
に次の行を追加してください。
source ~/.git-Prompt.sh
PS1
を含む__git_ps1 '%s'
変数はうまく動作するはずです。
OSX 10.9 Mavericksにアップグレードした後、git Shellコマンドを完了させgit Promptを再び動作させるには、以下のファイルを参照しなければなりませんでした。
私の.bash_profileなどから。
if [ -f /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash ]; then
. /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash
fi
source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-Prompt.sh
#Shell Prompt example
PS1='\u $(__git_ps1 "(%s)")\$ '
あなたがすべき
$ brewインストールbash bash-completion git
次に、.bashrcに "$(brew --prefix)/ etc/bash_completion"と入力します。
次は私のために魅力のように働いた:
ターミナルで以下を実行してください。
curl -L https://raw.github.com/git/git/master/contrib/completion/git-Prompt.sh > ~/.bash_git
Bash_profileを開く/作成する:
$ vi ~/.bash_profile
以下をファイルに追加してください。
source ~/.bash_git
export PS1='\[\033[01;32m\]os \[\033[01;34m\]\w $(__git_ps1 "[%s]")\$\[\033[00m\] '
export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWUPSTREAM="auto"
最後に、それを使用してそれを調達する:
$ source ~/.bash_profile
これでbash: __git_ps1: command not found
の問題が解決します。
また、あなたのプロンプトは "os"に変わります。 "os"を他のものに変更するには、エクスポートPS1行の "os"文字列を変更します。
ブラウザからgitパッケージをダウンロードする https://git-scm.com/download/
注:ダウンロードするためにcurl [option] https://...
オプションを使用してインストールする場合は、システムがSSLをサポートしていることを確認する必要があります。だから、新しい人にとっては、ブラウザからダウンロードしてgitインストーラから直接インストールするほうがずっと簡単です。
which git
git --version
現在のバージョンは2.10.1であるはずです。nano ~/.bash_profile
またはnano ~/.bashrc
変更箇所によって異なります。source /usr/local/git/contrib/completion/git-completion.bash
source /usr/local/git/contrib/completion/git-Prompt.sh
注:OS XをEl Capitainにアップグレードした後、gitのインストール場所がopt /ディレクトリからusr/local /に変更されました。MacOSSierraでは、上記の古い回答の一部が機能しなくなります。
PS1設定に次のコードを追加します。
オプション1:PS1に直接追加します。export PS1='\w$(__git_ps1 "(%s)") > '
.git-completion.bash
が私のホームディレクトリにあることをすでに知っているので、この単純な方法を好みます。その前に他のプロンプト形式を追加できます。ここにあなたの参照のための私の個人的なプロンプトです:export PS1='\t H#\! \u:\w$(__git_ps1 "{%s}") -->> '
オプション2:選択スクリプトを追加する
if [-f〜/ .git-completion.bash]; PS1 = '\ w $(__ git_ps1 "(%s)")>' fi
プロファイルを保存して使用します。source ~/.bash_profile
またはsource ~/.bashrc
ヨセミテにアップグレードするとき私は同じ問題を抱えていた。
古いパスの代わりに~/.bashrc
をsource /usr/local/etc/bash_completion.d/git-Prompt.sh
に変更するだけです。
それから効果を得るためにあなたの. ~/.bashrc
を再ソースしてください。
bash用の__git_ps1は、私のBrewインストール済みgitバージョン1.8.1.5の/usr/local/etc/bash_completion.dのgit-Prompt.shにあります。
色付きの高シエラクリーンソリューション!
ダウンロードなし醸造しません。 Xcodeなし
〜/ .bashrcか〜/ .bash_profileに追加するだけです。
export CLICOLOR=1
[ -f /Library/Developer/CommandLineTools/usr/share/git-core/git-Prompt.sh ] && . /Library/Developer/CommandLineTools/usr/share/git-core/git-Prompt.sh
export GIT_PS1_SHOWCOLORHINTS=1
export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWUPSTREAM="auto"
Prompt_COMMAND='__git_ps1 "\h:\W \u" "\\\$ "'
Homebrewを使ってGitをアップグレードしたいと思っていて、あなたのシステムが一般的に時代遅れになってしまったのなら、Homebrew自体を最新の状態にする必要があるかもしれません - brew update:以下の追跡されていない作業ツリーファイルはマージによって上書きされるでしょう: thanks @ chris-frisina)
最初にHomebrewを現在のバージョンに合わせる
cd/usr/local
git fetch Origin
git reset - 原産地/マスター
次にGitを更新します。
brewアップグレードGit
問題が解決しました! ; - )
これはOS 10.8の.bash_profileにあります。
if [ -f ~/.git-Prompt.sh ]; then
source ~/.git-Prompt.sh
export PS1='YOURNAME[\W]$(__git_ps1 "(%s)"): '
fi
少なくともXcode 6では、あなたはすでにgit-completion.bash
を持っています。 Xcodeアプリバンドルの中です。
これをあなたの.bashrcに追加するだけです。
source `xcode-select -p`/usr/share/git-core/git-completion.bash
Macportsのために私は私の./profileにsource /opt/local/share/git-core/git-Prompt.sh
を追加しなければなりませんでした
ソースファイルを.bash_profileに追加します。
source ~/git-completion0.bash
source ~/git-Prompt0.sh
and four to trigger the code block.
私はそれが本当の答えではないことを知っています...
私は私の.bashrcでgit-Prompt.shを調達することに関していくつかの奇妙な問題を抱えていたので、私は他の解決策を探すようになりました。これは・・・ http://www.jqno.nl/post/2012/04/02/howto-display-the-current-git-branch-in-your-Prompt/ は使いません__git_ps1と作者は、それがMacでも動作すると主張しています(今のところ、それは私のUbuntuでも完璧に動作し、微調整は簡単です)。
私はそれが役立つことを願っています!
私はGitハブのためにUdacityのコースをやっていて、これと同じ問題を抱えていました。これがmakeが正しく動作する最後のコードです。
# Change command Prompt
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \ . (.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
source ~/.git-Prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
# '\u' adds the name of the current user to the Prompt
# '\$(__git_ps1)' adds git-related stuff
# '\W' adds the name of the current directory
export PS1="$purple\u$green\$(__git_ps1)$blue \W $ $reset"
Gitには/Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-Prompt.sh
があります。そして/etc/bashrc_Apple_Terminal
も見てください。
そこで、これらを~/.bash_profile
に入れます。
if [ -f /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-Prompt.sh ]; then
. /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-Prompt.sh
export GIT_PS1_SHOWCOLORHINTS=1
export GIT_PS1_SHOWDIRTYSTATE=1
Prompt_COMMAND="${Prompt_COMMAND:+$Prompt_COMMAND; }__git_ps1 '\u:\w' '\\\$ '"
fi
これは私のために働いていました、そしてそれはgit出力とファイルが変更された/追加されたかどうかをそれに正しく焼き付けたかどうかをプロンプトに表示しました:
GIT_PS1_SHOWDIRTYSTATE=true
. /usr/local/Cellar/git/1.8.5.2/etc/bash_completion.d/git-completion.bash
. /usr/local/Cellar/git/1.8.5.2/etc/bash_completion.d/git-Prompt.sh
PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
必ず正しいパスを使用してください。私はgitのインストールに自作を使用しました。現在のインストールへのパスを取得するにはbrew list git
を使用してください。
ハードコーディングされたパスを使用しないのがいいでしょうが、現在のインストールへのパスを取得する方法がわからない。
ここでより多くの情報: http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-Prompt/