概要
git管理されているファイルから任意の文字列を指定して検索し、該当するgithubのURLを開くスクリプトです
- 現在いるブランチのURLを開きます
- 行数も指定されます
業務にてコードの質問や、レビューなどで該当箇所をgithubのリンクで共有することが多々あります。
コマンドラインから検索が完結し、そのままURLに飛ぶようにすると作業効率が上がりそうだったので作成してみました。
以前にpecoの記事を投稿したのですが、その応用です。
pecoを使ってgithubのcompare URLを簡単に生成する
function gg-line() {
if [[ -z $1 ]];then
echo "string arg is needed."
return
fi
REPO=`git remote -v | grep fetch | awk -F '[:. ]' '{print $3}'`
if [[ -n "$REPO" ]];then
BRANCH=`git branch --contains | awk -F '[ ]' '{print $2}'`
# 指定が取れない場合はmasterにする(引数にmasterを指定しても良いかも)
if [[ -z $BRANCH ]];then
BRANCH='master'
fi
PATHLINE=`git grep -nF $1 | peco | awk -F '[: ]' '{print $1"#L"$2}'`
if [[ -z $PATHLINE ]];then
return
fi
URL="https://github.com/$REPO/blob/$BRANCH/$PATHLINE"
echo $URL && open $URL
fi
}
使用例
引数の文字列が検索されます
$ gg-line test