読者です 読者をやめる 読者になる 読者になる

いものやま。

雑多な知識の寄せ集め

端末でGitを使いやすくする。

技術 端末 Git

Gitには、端末での操作を楽にするためのツールが用意されている。
今日はそれらの紹介。

なお、シェルはBashを使っているという前提。

プロンプトに現在のブランチを表示する

Gitのワークツリーで作業をしているとき、GitはSubversionとは違ってブランチを頻繁に切り替えて作業するので、現在のブランチが何かがすぐに分かると嬉しい。
そこで、端末のプロンプトに現在のブランチを表示するツールが用意されている。

インストール

ホームディレクトリに.git-prompt.shを用意する。

git-prompt.shは、Gitをmakeしてインストールしていれば、/usr以下のどこかにあると思う。
あるいは、Gitのリポジトリから直接取得してもいい。

これらのファイルをホームディレクトリに.git-prompt.shという名前でコピーする。

そのあと、.bashrcに以下を追加する:

source $HOME/.git-prompt.sh

プロンプトの設定

.bashrcなどでプロンプトの表示を設定する環境変数PS1を設定するときに、__git_ps1を呼び出すようにする:

# __git_ps1の呼び出しは、以下のとおり。
# 引数の文字列の%sがブランチ名に置換される。
# $(__git_ps1 " (%s)")

# 例
# 以下のようにすると、"[ユーザ名@ホスト名 ディレクトリ名 (ブランチ名)]$ "となる
export PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '

自分の設定

自分の場合、端末とエスケープシーケンスの話。 - いものやま。で書いたようなプロンプトを表示するようにしていたので、次のような設定になっている:

export PS1='\[\e[32m\]\u@\h \[\e[33m\]\w \[\e[31m\]$(__git_ps1 "[%s]")\[\e[0m\]\n\$ '

これで、Gitのワークツリーに入ると、次のような表示になる:

username@hostname /path/to/working/directory [branch]
$

かなり快適w

Tab補完を有効にする

端末で作業をするとき、ないと困るのがTab補完。
これがあるおかげで、長いディレクトリ名などもサクッと入力が出来る。

GitにもTab補完を使えるようにするツールが用意されている。
これにより、ブランチ名の補完などが出来るようになる。

インストール

ホームディレクトリに.git-completion.shを用意する。

git-completion.sh(もしくはgit-completion.bash)は、Gitをmakeしてインストールしていれば、/usr以下のどこかにあると思う。
あるいは、git-prompt.shと同様に、Gitのリポジトリから直接取得してもいい。

これらのファイルをホームディレクトリに.git-completion.shという名前でコピーする。

そのあと、.bashrcに以下を追加する:

source $HOME/.git-completion.sh

これでTab補完が使えるようになる。

今日はここまで!