自作のコマンドで作業効率アップ(シェル関数)

(Mac などシェルが使えるOS限定)
IntellJとかVisual Studio Codeで作業していて、 gitのブランチに関連するチケットページやGit Hubのブランチや、PRページを開きたいことがありますよね。

いちいちブラウザを開いてショートカットから 選んでトップページに飛んで、 見たいページを探していたら手数が多くて面倒。。。。

なので、IntellJやVisual Stdio CodeのTerminalからコマンドでページが開けたらステキ。

そういうときに使えるものがシェル関数です。 自作のコマンドを作成することができます。

作成方法

以下は、zshで設定した場合です。

  1. zshrcファイルを開く
    Visual Stdio Codeで開く場合、以下で編集するファイルを開けます。
    このファイルはTerminalを起動するたびに読み込まれるファイルです。
code ~/.zshrc  

※実行できない場合、環境変数PATHに設定がないためです。   Visual Studio CodeでCmd + Shift + Pで設定できます。

  • zshrcファイルに関数を作成する。
function openGitHub() {
    echo $(git remote get-url origin; git branch --show-current) | Perl -n -e '/git@(.*).git (.*)/ && print  "https://$1/tree/$2"' | Perl -n -e 's/\m:/\m\//g && print' | xargs -I {} open {} 
}

実行のコマンドの動作を解説すると git コマンドでリポジトリと現在のブランチの情報を取得し、 Perl正規表現でhttpのURLに組み替えてます。

例) git@github.com:/.git https://github.com///tree/

  • zshrcにaliasを設定する
alias github=openGitHub

aliasに作成した関数を設定します。

  • zshrcを読み込み直す
source ~/.zshrc

以上でgit管理下のフォルダで、以下のコマンドを実行すると目的のページがブラウザで表示されます。

#github