gitコマンド・ブランチ名をターミナル上で表示・補完できるようにする設定（MacOS, 初学者向け)

#はじめに
* macbookでプログラミングを学習していた際、  
 デフォルトの表示だと、gitのブランチ名がプロンプトに表示されなかったり、
コマンドやブランチ名の自動補完機能がなかったので使い辛かった思い出がありました。そこで備忘録としてこの記事を作成することにしました。この記事が誰かのお役に立てば幸いです。

##環境
MacBook Air (Retina,  2018)

#Homebrewをインストール

のちに使うwgetコマンドをインストールするため、  最初にHomebrewをインストールする。
[Homebrew](https://brew.sh/index_ja)のページに飛び、インストールコマンドをコピーし、
ターミナル上で実行する。
![Homebrew.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/948598/dc76f615-100f-9ed6-db31-925614830c0f.png)

```terminal:上でコピーしたものをterminal画面上で実行
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

途中でパスワードの入力を求められるため、適宜ご自身のパスワードを入力
**「Install successful!」**と表示されたら、ターミナル上で

```terminal:terminal画面
$ brew -v
もしくは
$ brew help
```
を実行して、Homebrewのバージョンやヘルプ一覧が表示されていれば、
インストール完了です。
こちらの記事を参考にさせていただきました↓

https://qiita.com/zaburo/items/29fe23c1ceb6056109fd

# wgetコマンドをインストール
###wgetコマンドとは？
wgetは、ソースコードやバイナリのダウンロードだけでなく、Webサイト全体あるいは特定の階層を一括取得できるコマンドのこと
####wgetコマンドの構文
```
$ wget [options] [url]
```
[options]：ダウンロードプロセスをカスタマイズするために利用できる様々なオプションを設定可能
[url]：ここで指定したURLからファイルをダウンロードすることができる。

詳しい使い方等については、下記記事に色々と載っており、とても参考になりました
[「wget」コマンド――URLを指定してファイルをダウンロードする](https://www.atmarkit.co.jp/ait/articles/1606/20/news024.html#sample1)  

https://qiita.com/hirohiro77/items/b774908436ec032df719




話が若干それましたが、
wgetコマンドを利用するためにまずターミナルを起動した後、

```terminal:terminal
$ brew install wget
```

を実行.
インストールが完了したら

```terminal:terminal
$ wget -h
```
を実行し、wgetのオプション一覧等がズラーっと表示されていれば、インストール完了。

# git-completion.bashを導入する

### git-completion.bashとは？
ターミナル内でgitコマンドを補完してくれるようになる補完スクリプト
今回はこれを読み込む
参考：[git-completion.bash](https://github.com/git/git/blob/master/contrib/completion/git-completion.bash)


#### 導入方法
ターミナルで

```terminal:terminal
$ wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -O ~/.git-completion.bash
$ chmod a+x ~/.git-completion.bash
$ echo "source ~/.git-completion.bash" >> ~/.bashrc
$ source ~/.bashrc
```

を順番に実行していく
これにより、下記のようになる。

```terminal:terminal
[例]「git che」通した状態でtabキーを押すと、
$ git che
checkout    cherry    cherry-pick
と、候補が表示されるようになる。
[例] 「git chec」でtabキーを押すと、
$ git checkout
と表示される。
```

# git-prompt.shを導入する
### git-prompt.shとは？
プロンプトにgitに関する各種追加情報を表示できるようにするスクリプトのこと。
参考：[git-prompt.sh](https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh)

#### そもそもプロンプトとは
**プロンプト**とは、terminal内でデフォルトで表示されている、
**「〇〇〇macbook:(フォルダ名 もしくは ~) 〇〇〇＄」**の部分のこと
左側にあるmacbookの表示や、自分のユーザー名など
いらない情報が含まれていることがあるので、この部分をこのgit-prompt.shを使って編集します。


#### 導入方法
導入方法は先ほどのgit-completion.bashと同じように、

```
$ wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh -O ~/.git-prompt.sh
$ chmod a+x ~/.git-prompt.sh
$ echo "source ~/.git-prompt.sh" >> ~/.bashrc
$ source ~/.bashrc
```

を順番に実行していく。
完了したら、エディターを使って、~/.bashrcファイルを開き、中身を以下のように編集

```terminal:~/.bashrc
source $HOME/.git-completion.bash
source $HOME/.git-prompt.sh

GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWUPSTREAM=1
GIT_PS1_SHOWUNTRACKEDFILES=
GIT_PS1_SHOWSTASHSTATE=1

export PS1='\[\033[1;32m\]\u\[\033[00m\]:\[\033[1;34m\]\w\[\033[1;31m\]$(__git_ps1)\[\033[00m\] \$ '
```

最後のexportの中身によって、表示状態を変更することができるます。
文字の太さや背景色、文字の色など、より自分好みにカスタマイズしたい場合は、下記記事にがとても参考になりました。

https://qiita.com/hmmrjn/items/60d2a64c9e5bf7c0fe60

これで今回のカスタマイズによって、ブランチ名も表示できるようになったと思います。

#最後に

これで導入は完了ですが、このままだとターミナルを再起動したときに、プロンプトがまたデフォルトの状態に戻ってしまうので、
エディターで~/.bash_profileを開き、下記を追記してください。

```terminal:~/.bash_profile
if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
```
そして、この設定を反映させるため

```
$ source ~/.bashrc
$ source ~/.bash_profile
```

を入力。これにより、
再起動した時でもプロンプトが設定した表示になったと思います。

参考

https://qiita.com/varmil/items/9b0aeafa85975474e9b6