2024/03/23

bash PS1 プロンプトにgitリポジトリ情報を表示する

[bash] [ps1] [git]

わけあって自分は使わなくなってしまったのだけど、bash の プロンプトに git リポジトリの情報を出すやつ。

main : bayashi/actually
$ 

上記のように ブランチ名(main) と リポジトリの情報(bayashi/actually)を出す。

PS1 に以下のようにすればよい。

PS1="\$(__git_ps1 \"%s\")\$(git remote -v 2>/dev/null | head -n1 | perl -ae 'print qq| : \$1| if m!:([^(.]+)!')\n\\$ "

ブランチ名がこの部分で、__git_ps1git-completion.bash を利用している。

$(__git_ps1 "%s")

リポジトリ情報は git remove -v の出力を perl ワンライナーで加工している。

$(git remote -v 2>/dev/null | head -n1 | perl -ae 'print qq| : $1| if m!:([^(.]+)!')

おわり。

サイト内検索