LoginSignup
0
0

More than 3 years have passed since last update.

git grepを使って検索し、指定した箇所のgithubのリンクを取得するスクリプト

Posted at

概要

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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0