ターミナルのプロンプトにGit情報を常に表示させる【超便利】

グローバルでAI開発者・データサイエンティストを目指す人向け
おすすめUdemy講座一覧

TOEIC300→海外就職の英語勉強法まとめ

こんにちは,米国データサイエンティストのかめ(@usdatascientist)です.

今日は,ターミナルのプロンプト部分にGitのユーザ情報とブランチ情報およびStaging情報を常に表示させる方法を紹介します.

めちゃくちゃ便利なので絶対にやりましょう.(作業自体はコピペのみで簡単ですが,シェル全体に影響を与えるファイルを変更します.linuxやmacに不慣れな方は,飛ばしても構いません.少し上級者向けの記事となっています.)

前回までの記事で,Gitの使い方を4回に渡って書きました.第一回はこちら

【超入門】Github登録からGit使い方の基本まで完全解説①【初心者必見】

これからの記事でTerminal(iTerm2)を使ってGitを操作したんですが,初期設定だとGitがどのユーザでログインしているのかとか,どのブランチにいるのかわからないので結構不便です.(iTerm2についてはこちらの記事をご覧ください.)

そこで,今日はGitの情報をプロンプトに表示する方法を伝授しちゃいます!!

注意
本記事はbash用です.他のshellを使っている場合は,それ用のファイルを更新してください.
また,他のShellでの動作確認はできておりません.
使っているShellをは$echo $SHELLで確認できます.
MacでShellを変更するにはこちらの記事が参考になるかもしれません.CatalinaからデフォルトのShellがzshになりましたが,まだまだ世の中bashがメインだと思うので,zshへの対応はしばらくお待ちくださいmm

(追記)zsh版はGit動画講座「米国AI開発者がやさしく教える入門講座」にて解説しています!詳細はこちら↓

【公開初日で900人以上が受講!】Git入門動画講座を公開しました!!

~/.bash_profileを変更する

うさぎ
~/.bash_profileってなにコワイ

ターミナル(Terminal)というのは,パソコンにコマンドで命令を出すアプリですが,これはShellというものを介してカーネル(kernel)というコア(核)に命令を送っています.こんな感じです.で,このShellの一つにbashと呼ばれるものがあって,macのTerminalもiTerm2もこのbashというものを使っています.

試しに,Terminal(iTerm2)上で $ echo $SHELL と打ってみてください.

/bin/bash が表示されると思います.表示されない方はおそらくiTerm2を使っていないと思います.macユーザならmac OSのTerminalではなくiTerm2を使うようにしましょう.

iTerm2を使う理由と機能・設定紹介【まだTerminal使ってるの?】

また,そもそもmacじゃなくてwindowsなんだけどっていう人,これからプログラミングを学ぶならmacを強く推奨します.

プログラミングを始めるならWindowsではなく絶対Macをオススメする理由5つ

うさぎ
で,~/.bash_profileってなに??
~ はホームディレクトリでしたね!Terminal(ここではiTerm2も同じくTerminalと呼びます)は,立ち上がった時にあるファイル群もあらかじめ実行します.そのうちの一つが ~/.bash_profile というファイルです.(ホームディレクトリにある .bash_profile というファイル)

~/.bash_profile に,プロンプトにGit情報を表示するようなスクリプトを記述することができるのです.

うさぎ
なんか難しそう・・・

全然難しいことはなくて,実際はただコピペするだけでOKです!めちゃ楽!

ステップ1:シェルファイルを配置

とりあえずこのファイル/usr/local/etc/bash_completion.d/git-prompt.sh においてください.(色々方法はありますが,Githubページからファイルの中身を全コピーして, $touch /usr/local/etc/bash_completion.d/git-prompt.sh でファイルを作成してその中身をコピーすればOKです.sublimeを使っている方は $cd /usr/local/etc/bash_completion.d して, $subl git-prompt.sh でファイルを開いてペーストして保存しましょう.フォルダが無い場合は作成してください.フォルダを作るには $mkdir /usr/local/etc/bash_completion.d を実行すればOKかと思います.人によってフォルダがあったり無かったりするので,適宜環境を確認しつつ進めてください.)

(理由は聞かないでくださいw そういうものということでw

ステップ2:home brewをインストール(もし入ってなかったら)

Terminalで $ brew --version を実行してみてください.versionが表示された人はもうhome brew入ってるのでここは飛ばしてください.

入ってない人はこちらのページにしたがってインストールしましょう.(ちょっと時間かかるかも?)

2019年12月現在ではTerminal上で以下のコマンドを実行するとインストールできます.

home brewというのは,macユーザようのパッケージ管理ツールです.home brewを通していろんなパッケージ(アプリ)をインストールすることができます.エンジニア必須アイテムなので必ず入れましょう.

ステップ3 : hubをインストール(もし入ってなかったら)

Terminalで $brew install hub を実行!以上!

ステップ4:いよいよ~/.bash_profileを変更する

といってもコピペするだけだけどね!

Sublimeで ~/.bash_profile を開きましょう.Sublimeって何って人はこちらの記事を参考にいれてください.めちゃくちゃオススメの無料エディタです.

$ subl ~/.bash_profile

そして以下をコピペしてください.(htmlの関係で一部のコードが「undefined」となっているのでダブルクリックしてplain textにしてからコピペしてください!うまく回避する方法を今模索中です.)

この部分 test "$git_users" == '{ユーザ名}' && echo "絵文字 " && return  は変更する必要があります.ユーザ名はGitのUsernameを,絵文字の部分はこちらからお好きなものをコピペしてください.↓こんな感じで

ファイルを更新したら,新しいTerminalを開くか, $ source ~/.bash_profile と打って再度 ~/.bash_profile を実行します.

すると,プロンプトにGit情報が出ていると思います.

使い方

まず,Gitユーザをconfigにセットしていない場合は以下のコマンドでセットしましょう.

{USERNAME}と{EMAIL}の部分はGithubのアカウントのusernameとemailを入れます.

すると,ちゃんとプロンプトに選択している絵文字が表示されると思います.

次にステージングも試してみましょう.

試しにファイルを修正して,それぞれのstagingの状態を確認してみてください.ブランチ名の横の記号(*と+)で判別できます.(Gitのstaging操作についてはこちらの記事を参照ください.)

これがあると,自分がどのブランチでそういう状態にいるのか一目でわかるのでめちゃくちゃ便利です.

というかこれなくしてGit操作をTerminalでおこなうことはできませんw

まとめ

今日はGit情報をターミナルのプロンプトに表示するやり方を紹介しました!

~/.bash_profileは他にも便利なaliasを登録したり,pathを通したりするのに重宝します.

是非,上記のコードを理解して自分なりの変更を加えてみてください!(色とか変えられますよ〜)

それでは!