Bash
Zsh
Git
fish

Gitのブランチ名を返すエイリアスを設定したら地味に捗った

設定したalias

まず設定したaliasはこちらです。.zshrcやら.bashrcに設定します。

.zshrc
alias brname='git symbolic-ref --short HEAD'

2018-04-11 17_01_23.gif

すると、brname で今のリポジトリのブランチ名を標準出力で返すようになりました。

コマンドと組み合わせる

追記
こちらのaliasを使った例ですが、aliasを使わなくてもできる方法をコメントにて指摘頂いており、
Gitのブランチ名を返すエイリアスを設定しなくても地味に捗った
にまとめましたので、こちらも併せてご参考下さい。

git push

ブランチをローカルで作ってリモートに初めてpushする時に使えます。

git push -u origin $(brname)

毎回ブランチ名をコピペしてpushしていた作業がコピペ不要になります。

追記:コメントにて push -u については git push -u origin HEADがこれと同じ意味になるとの指摘をいただきました。確かにこちらだとaliasも不要ですね…!

git pull

自分の今いるブランチのみpullすると、余計なものをpullせずにすむのでブランチ名で指定したい時に使えます。

git pull origin $(brname)

毎回ブランチ名をコピペしてpullしていた作業が(ry

git diff

今いるブランチのリモートとローカルの差が知りたい時に使えます。

git diff $(brname) origin/$(brname) --stat

※ オプションはお好みで

毎回ブランチ名をコピペして(ry

git reset

今いるブランチのリモートの状態にresetしたい時に使えます。

git reset --hard origin/$(brname)

毎回ブラン(ry

他にもいろいろありそうですが

とりあえず、自分が日常で使っているのはこんな感じでした。
他にもブランチ名を入れたいところに使うことができるので、いろいろな使い道がありそうです。

補完で呼び出す (fish、zsh)

$(brname) を使ってgit操作をしていると、今いるブランチに対して使うコマンドが、すべて同じコマンドになってくることが分かるかと思います。

そうなると、fishのような補完を使える場合には、コマンドを打っている途中に過去のコマンドの履歴からいつものコマンドを補完してくれるのでかなり楽になります。

自分はfishを一時期使ってはいましたが今はzshに戻ってきてまして、zshで同じことが出来るようにzsh-autosuggestions を使っています。
(下記のGIFの途中まで打っていてグレーになっているのがそうです。)

zshの入力をfishっぽくする。(CLIのハイライトと予測補完

2018-04-11 14_06_29.gif

まとめ

地味なエイリアスですが

  • 無駄なTypoを防ぐ
  • コピペの手間削減
  • 補完を使うことによりタイプ数も減る

効果が期待できますので、結果地味に捗りました。 → 続きの記事書きました。
Gitのブランチ名を返すエイリアスを設定しなくても地味に捗った