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

設定したalias

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

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

2018-04-11 17_01_23.gif

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

コマンドと組み合わせる

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を防ぐ
  • コピペの手間削減
  • 補完を使うことによりタイプ数も減る

効果が期待できますので、結果地味に捗りました。

38contribution

基本は補完で解決できてそうですが、$()をタイプするのが面倒なので、
zshであればグローバルエイリアスを使ってもよさそうですね
alias -g BN='$(git symbolic-ref --short HEAD)' とかにして、
git pull origin BN とかやったら捗りそうだな、と

3518contribution

なるほど、グローバルエイリアスですか…確かにこちらのほうが楽そうでいいですね!

14contribution

pullとかは使えませんが、pushに関しては git push -u origin HEAD の方が便利ではないかなと

256contribution

自分はこんな感じでやりました😊

https://qiita.com/inductor/items/827962ba99242772aefc

3518contribution

@kappa0923さん

pullとかは使えませんが、pushに関しては git push -u origin HEAD の方が便利ではないかなと

!!!
push -uはこちらのほうが自然ですね・・・!

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.