Zsh
GitHub
Peco

ターミナルからカレントディレクトリに対応するgithubページをサッと開く

More than 3 years have passed since last update.

Mac限定になりますが、ターミナルから直接githubの画面を開けてちょっと便利です。

以下をzshrcに貼り付けて使ってください。

function open-git-remote() {

git rev-parse --git-dir >/dev/null 2>&1
if [[ $? == 0 ]]; then
git config --get remote.origin.url | sed -e 's|\:|/|' -e 's|^git@|https://|' -e 's|.git$||' | xargs open
else
echo ".git not found.\n"
fi
}

キーバインドを設定すれば更に便利に!

zle -N open-git-remote

bindkey '^[o' open-git-remote


peco を使って更に便利に!

ブランチを選択した上で、そのブランチのページを開いたりもできます。

個人的にはこちらで使っています。

function open-git-remote() {

git rev-parse --git-dir >/dev/null 2>&1
if [[ $? == 0 ]]; then
# git config --get remote.origin.url | sed -e 's|\:|/|' -e 's|^git@|https://|' -e 's|.git$||' | xargs open
local uri="$(git config --get remote.origin.url | sed -e 's|\:|/|' -e 's|^git@|https://|' -e 's|.git$||')"
local branch="$(peco-select-branche | awk '{if ($0 ~ "master"); else print "tree/" $0}')"
open "$uri/$branch"
else
echo ".git not found.\n"
fi
}
zle -N open-git-remote
bindkey '^[o' open-git-remote

function peco-select-branche() {
git rev-parse --git-dir >/dev/null 2>&1
if [[ $? == 0 ]]; then
git for-each-ref --format='%(refname)' --sort=-committerdate refs/remotes refs/tags | sed -e 's|^refs/||' -e 's|^remotes/origin/||' | peco --prompt='[branches]'
fi
}

お役にたてば幸いです!!