Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
89
Help us understand the problem. What is going on with this article?
@lemtosh469

gitのブランチ名をターミナルで表示できるようにする

More than 1 year has passed since last update.

以前、デザイナー向けターミナル色変更の記事を書いた。
Macのターミナル(bash)を最低限色付けする

上記の記事に地味にいいねを付けていただけるので需要あるのかもと思い、
続きのgitのブランチ名表示の設定もできるようにしてみる。

なにも設定していなくても作業できてしまうけど、さすがにブランチ名くらいは出ていないと作業に支障出ることもあるのでは?
ということで今回も10分くらい(インストールとかに時間取られるのでもう少しかかるかも)でできるgitのブランチ表示のための設定をしていきます。

設定するとできるようになること

  • ブランチ名の表示
Before
After

はじめに

Macのターミナル(bash)を最低限色付けする
が完了している前提で進めます。

次にエンジニアでない人に限らず、使われていないターミナルはbrewが最新状態になっていないことが多いので、とりあえず下記コマンドでアップデートを済ませます。

$ brew update

※アップデート時にエラーが出るケースがある。(エンジニアに助けてもらおう!自分で解決しようとしてもなかなか大変なので。)
MacOS High SierraでHomebrewの更新(brew update)ができない場合の対処

gitを設定していく

gitのインストール


$ brew install git

下記のコマンドを打って、同じ結果が返ってくるか確認する

$ which git
/usr/local/bin/git

ファイルの存在を確認する

$ ls /usr/local/etc/bash_completion.d/
brew            git-completion.bash git-prompt.sh

git-completion.bashgit-prompt.sh のファイルがあることを確認する。

bashrcに記述を追記する

$ vi ~/.bashrc

i を押してから、gitの設定を追加する。

~/.bashrc
# gitの設定(下記3行を.bashrcの一番上に追加する)
source /usr/local/etc/bash_completion.d/git-prompt.sh
source /usr/local/etc/bash_completion.d/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true

続いて、前回の記事で追加済みの下記の PS1= の行を修正する。後ろのほうに $(__git_ps1)\[\033[00m\] を追加するのですが、 PS1= の行をまるごと置き換えちゃうのがミスも起きなくてよいと思います。(表示のための数字指定も地味に変更しているので...)

~/.bashrc

# 変更後

# default:cyan / root:red
if [ $UID -eq 0 ]; then
    PS1='\[\033[31m\]\u@\h\[\033[00m\]:\[\033[01m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\\$ '
else
    PS1='\[\033[36m\]\u@\h\[\033[00m\]:\[\033[01m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\\$ '
fi

( 豆知識: esc を押してから、 任意の行で dd とキーボードを押すと行単位で一行まるごと消せます。)

キーボードの esc ボタンを押してから :wq と入力してファイルを閉じる.

設定を反映する

$ source ~/.bashrc

こんな感じで表示されるようになりました!!

適当なレポジトリをcloneしてきて動作確認する

$ mkdir dev
$ cd dev

$ git clone https://github.com/as/a.git
Cloning into 'a'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 1470 (delta 6), reused 18 (delta 5), pack-reused 1448
Receiving objects: 100% (1470/1470), 1.65 MiB | 222.00 KiB/s, done.
Resolving deltas: 100% (910/910), done.

$ cd a/

pc名@ユーザー名:~/dev/a (master)$ git checkout -b new-branch
Switched to a new branch 'new-branch'
pc名@ユーザー名:~/dev/a (new-branch)$ 

終わりです。bashでコマンドの履歴表示とかできるのかな?
もし気が向いたら書きます。

参考:
Macのターミナル画面にブランチ名を表示させるようにする

89
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
lemtosh469
建築(独学でデザインを学んでイラレやフォトショ)➡ クリエイティブ(広告系事務所でお世話になる)➡ コミュニティ運営のお手伝い ➡ デザイン思考 ➡ ハードウェア(Arduinoを使うプロトタイピング、研究開発) ➡ Software Engineer ➡ UI Designer/モノづくりが大好きでいろんな分野を横断してきました。 (CrowdWorks, inc. alumni)

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
89
Help us understand the problem. What is going on with this article?