カレントディレクトリの 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.githttps://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 関数ができた。