カレントディレクトリの Git リポジトリをブラウザで開くシェルスクリプト
GitHub や BitBucket からクローンしたリポジトリを、ターミナルで開いて作業している。そのリポジトリをブラウザで開きたいなーと思ったので、こんな Bash 関数を書いた。
function openrepo() {
open "$(git config remote.origin.url | sed 's!//.*@!//!')"
}
$ git config remote.origin.url
で、カレントディレクトリのクローン URL を取得できる。$ git remote -v
で参照できるのと同じ値だが、コチラの方が URL のみ取得できる。
自分は大抵、https://Neos21@github.com/...
とか https://Neos21@bitbucket.org/...
とかいうクローン URL を使っているので、ユーザ名 Neos21@
部分を除去するために sed
を使っている。sed
のデリミタ (区切り文字) はスラッシュ /
以外も使えるので、スラッシュを含む文字列を置換する時は、今回のようにエクスクラメーションマーク !
など違う文字を使うと良い。
コレで
https://github.com/Neos21/example.git
https://bitbucket.org/Neos21/example.git
みたいな URL が出来上がるので、コレを open
コマンドで開いてやる。
open
コマンドは、MacOS はデフォルト搭載- Windows GitBash では
start
コマンドのエイリアスにしておくと良い (alias open='start'
) - WSL 環境では
wsl-open
という npm 製のコマンドがあるのでコレを入れてエイリアスにしておくと良い (alias open='wsl-open'
)- 過去記事 : wsl-open : WSL で xdg-open する
- Linux 環境では
xdg-open
をエイリアスにしておくと良い (alias open='xdg-open'
)
以上。1行で十分な Bash 関数ができた。