1

今、私のシェルは表示するように設定されていますexport PS1="\t \w $ "

プロンプトを動的にし、常に現在の場所と形式を次のルールに再評価する方法はありますか?

1.リポジトリを含むディレクトリ内にある場合git、私がいるブランチを含むように変更されます

19:42:07 (dev) ~ $ 

19:42:07 (release) ~ $ 

1.1ブランチは、プロンプトの残りの部分とは異なる色で表示できますか?

2.リポジトリを含むディレクトリの外にある場合、gitリポジトリはそのまま残ります

19:42:07 ~ $ 
4

2 に答える 2

2

Gitディストリビューションには、これを実行するcontrib/completion/git-completion.bashファイルが含まれています。ファイル自体にインストール手順が含まれています。

于 2012-08-02T00:49:18.217 に答える
0

git-completion.bashソリューションが実行できない場合(たとえば、git-completionをインストールする権限がない場合など)、次の関数を.bashrcに手動で追加できます。

function parse_git_branch {
      git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

コマンドからその関数を呼び出してPS1をフォーマットします。私は以下を使用します:

PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h: \[\e[33m\]\w\[\e[37m\]$(parse_git_branch)\[\e[32m\] \$\[\e[0m\] '

その結果、

ここに画像の説明を入力してください

ParVal私がいるブランチの名前はどこにありますか。

于 2012-08-02T04:30:08.373 に答える