しおメモ

雑多な技術系ブログです。ニッチな内容が多いです。

ターミナルからワンライナーでGitHubのもろもろを開く

ターミナルからGitHubのもろもろを開く

git管理下のディレクトリにいる時に、もろもろのよく使うページを開くワンライナーでエイリアスを作ってみました。

はじめに

説明に便利なので、ブラウザの立ち上げにmacのopenコマンドをつかっていますが、他のOSの場合、適宜直接Chromeに渡したりする必要があります。

originを開く

基本形です。

alias ogr='git remote get-url origin | sed -e "s#:#/#" -e "s#git@#https://#" -e "s#\.git$##" | xargs open'

SSHの場合が多いので、sedで置換してブラウザで開けるアドレスに変えます。

issueを立てる

最後の.git/issues/new/にする。

alias ogri='git remote get-url origin | sed -e "s#:#/#" -e "s#git@#https://#" -e "s/\.git$/\/issues\/new\/" | xargs open'

Pull Requestを立てる

引数をみてそのブランチと現在のブランチの差分のページに飛ばします。(ex. /compare/master...develop)
現在のブランチはgit rev-parse --abbrev-ref HEAD 2>/dev/nullで確認します。

ogrp(){ git remote get-url origin | sed -e "s#:#/#" -e "s#git@#https://#" -e "s/\.git$//" | xargs -I@ open @/compare/$1...`git rev-parse --abbrev-ref HEAD 2>/dev/null` }

実際に使っているzshの無名関数版はこちらです。

alias ogrp='(){git remote get-url origin | sed -e "s#:#/#" -e "s#git@#https://#" -e "s/\.git$//" | xargs -I@ open @/compare/$1...`git rev-parse --abbrev-ref HEAD 2>/dev/null`}'

割と便利です。(個人の感想(´・ω・`))