Mac — コンソールからGithubレポジトリをWebブラウザ開くコマンド例を参考に.
自分の環境だとsshでクローンしていたため動かなかったので改変させて頂きました.
前提
$ git remote -v
> origin git@github.com:hoge/fuga.git (fetch)
> origin git@github.com:hoge/fuga.git (push)
このようにGitHubが登録されている必要があります
コマンド
$ open $(git remote -v | head -n 1 | awk '{ print $2 }'| awk -F'[:]' '{ print $2 }'| awk -F'.git' '{ print "https://github.com/" $1 }')
解説
git remote -v
.git/
に保存されているリモートリポジトリを表示します
結果
origin git@github.com:hoge/fuga.git (fetch)
origin git@github.com:hoge/fuga.git (fetch)
head -n 1
haed
コマンドでremote -v
コマンドの結果の1行目を取得する
結果
origin git@github.com:hoge/fuga.git (fetch)
awk '{ print $2 }'
awk
コマンドでスペースで区切られている2つ目の部分を取得する
結果
git@github.com:hoge/fuga.git
awk -F'[:]' '{ print $2 }'
awk
コマンドで:
を区切り文字にし、2つ目の部分を取得する
結果
hoge/fuga.git
awk -F'.git' '{ print "https://github.com/" $1 }'
awk
コマンドで.git
を区切り文字にし、先頭を取得
その先頭にhttps://github.com/
をつける
結果
https://github.com/hoge/fuga
open $()
最後にそれらをopen
コマンドでひらく
これらをまとめて
$ open $(git remote -v | head -n 1 | awk '{ print $2 }'| awk -F'[:]' '{ print $2 }'| awk -F'.git' '{ print "https://github.com/" $1 }')
最後に
自分はこのようにaliasを作成しました.
alias gopen="open $(git remote -v | head -n 1 | awk '{ print $2 }'| awk -F'[:]' '{ print $2 }'| awk -F'.git' '{ print "https://github.com/" $1 }')"