れさくのブログ

れさくのブログ

*

gitで今いるブランチ名を常に表示させる方法

   

macでコマンドラインでgitをギトギトにいじる日々。
慣れてくると「ここはどこ?私はだれ?」なんてことが多くなります。
つまり今いるブランチ名が分からない、というより忘れてしまうことが多くなります。

複数プロジェクト並行して、レビューの戻りにも着手すると、あっちのブランチこっちのブランチで私は誰状態です。
コーディングもバリバリ続けて疲労はピーク!
意識は朦朧としてgit statusとかやってられない。
いや、やっても今いるブランチを素早く認識できないですよね?こんな状態だと。
git1
ましてや意識も混濁状態。
そして唱えられるgit commitとpushの呪文。
ああ、やってしまいました・・・。

そんな悲劇を防ぎたい。

そこでgit-completion.bashなるものを入れます。

これで、gitで今いるブランチ名が常に表示されます。

ついでに項目ごとに色が付いて見やすくなります。

まず最初に、git-completion.bashが入っているかを確認。
HomeBrewだと

/usr/local/Cellar/git/<バージョン>/etc/bash_completion.d/git-completion.bash

にあるらしいです。

探してみます。
git2ありました。確かに
/usr/local/Cellar/git/2.2.2/etc/bash_completion.d/git-completion.bash
にあります。

次にこのgit-completion.bashを.bashrcに記述します。

.bashrcがあることを確認!
cd $HOME
ls -la

記述します。
cd $HOME
vi .bashrc

実際の画面。
git3

.bashrcは最初はこんな風に書かれていました。
git4

そこに以下のを追記します。
source /usr/local/etc/bash_completion.d/git-prompt.sh
source /usr/local/Cellar/git/2.2.2/etc/bash_completion.d/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true
PS1='\[\033[40;1;32m\]\u\[\033[2;32m\]@\[\033[0m\]\[\033[40;32m\]\h \[\033[1;36m\]\w \[\033[31m\]$(__git_ps1 "[%s]")\[\033[00m\] \[\033[0m\]\[\033[40;2;37m\]date +"%Y/%m/%d %p %H:%M:%S" \[\033[0m\]\n\\$ '
export PS1=$PS1

追記しました。
git5

書いたら:wq!で抜ける。

追記した.bashrcを有効にします。
echo source ~/.bashrc >> ~/.bash_profile
※.bashrcを新規作成したしないに関わらず、これを実行しないと起動時に読み込まれない。

実際の画面。
git6

そしてターミナルを立ち上げ直すと・・・
git7おおっ、見やすい!

gitではこんな感じに見やすくなりました。
今いるブランチ名も常に表示されます。
git8赤字でmasterとありますが、これが今いるブランチ名ですね。

補足
.bashrcの追記の
source /usr/local/etc/bash_completion.d/git-prompt.sh
は無くても動く説があるが、無いと
-bash: __git_ps1: command not found
こんなエラーが出るので書いておく。

echo source ~/.bashrc >> ~/.bash_profileについて
.bashrcに書けば起動時に読み込まれる説、
以前から.bashrcがあればそれだけで起動時に読み込まれる説があるが、
.bashrcを新規作成したしないに関わらず起動時に読み込まれないのでこーすること。

 - ケースで覚えるgit自習室

adpc

adpc

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  関連記事

Git-logo.svg
ケースで覚えるgit自習室:ケースその3「コミットをまとめろ」

git checkout -b 日本史 upstream/世界史 日本史の教科書 …

ダウンロード
ケースで覚えるgit自習室:ケースその2「作業中に別の作業が割り込んでくる」

かわいくないけどMacに貼ることによって 「開発者の気分に浸れる」 「スタバでの …

Git-logo.svg
ケースで覚えるgit自習室:ケースその1「普通に作業を開始して、そして終了する」

「教室」ではなく「自習室」なところがいろいろアレなカテゴリーです。 大昔インター …