カレントディレクトリの 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 のデリミタ (区切り文字) はスラッシュ / 以外も使えるので、スラッシュを含む文字列を置換する時は、今回のようにエクスクラメーションマーク ! など違う文字を使うと良い。

コレで

みたいな URL が出来上がるので、コレを open コマンドで開いてやる。

以上。1行で十分な Bash 関数ができた。