設定したalias
まず設定したaliasはこちらです。.zshrcやら.bashrcに設定します。
alias brname='git symbolic-ref --short HEAD'
すると、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のハイライトと予測補完
まとめ
地味なエイリアスですが
- 無駄なTypoを防ぐ
- コピペの手間削減
- 補完を使うことによりタイプ数も減る
効果が期待できますので、結果地味に捗りました。
基本は補完で解決できてそうですが、
$()
をタイプするのが面倒なので、zshであればグローバルエイリアスを使ってもよさそうですね
alias -g BN='$(git symbolic-ref --short HEAD)'
とかにして、git pull origin BN
とかやったら捗りそうだな、となるほど、グローバルエイリアスですか…確かにこちらのほうが楽そうでいいですね!
pullとかは使えませんが、pushに関しては
git push -u origin HEAD
の方が便利ではないかなと自分はこんな感じでやりました😊
https://qiita.com/inductor/items/827962ba99242772aefc
@kappa0923さん
!!!
push -uはこちらのほうが自然ですね・・・!