ghq+ghで良い感じにGoの環境を整える(windows)
めちゃくちゃ擦られてる内容だろうけど
最近Goを学び始めました。Goたのしい。Gopherくん可愛い。
最近のGoはgo mode
を使うとGOPATHを意識しないでも良いみたいなんですが、
良い感じに一箇所にまとめたくなったので色々調べてみました。
ghqを入れる
インストール
scoop install ghq
まず手始めにghqをインストールします。
これはソースコードの取得と管理を便利にしてくれる 凄いやつです。
ルートパスの設定
git config --global ghq.root '~/project'
ghqのルートパスを変更します。
ここにghq get hoge
したファイルがインストールされるようになります。
insteadOfの設定
git config --global url.git@github.com:.insteadOf https://github.com/
デフォルトだと自動でSSH認証になってくれなくて不便なのでurl.<base>.insteadOf
の設定をします。
(一応ghq get -p hoge
でSSH認証扱いになるみたいだけど確実に-p
を付け忘れるよね)
これは全てのgit操作に対してリポジトリのURLを書きかえるやつらしいです。
fzfと連携させる
インストール
scoop install fzf
あいまい検索が出来るfzfを入れます。
これを入れてghqと連携をすることであいまい検索で楽にプロジェクト間を移動出来るようにします。
powershellで呼べるようにする。
function q {
cd $(ghq list -p | fzf)
}
これを入れると雑にリポジトリを移動出来るようになります。
~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1
に書きこんでください。
unix系列のシェルならgh-ghq-cdを入れると楽そうです。
ghコマンドを入れる
scoop install gh
githubと簡単に連携が取れる、gh コマンドを入れましょう。
これでリポジトリの作成やissueの作成などありとあらゆるGithub上の操作がCLIで行えるようになります。
ユーザー指定でコードを落せるようにする
gh extension install kawarimidoll/gh-q
kawarimidollさんが作成したgh-qを入れます。
リポジトリのURLを控えなくても、gh q {username}
でユーザー指定でコードを落す事が出来るようになります。便利~
GOPATHの設定
$user = [System.Environment]::GetFolderPath("UserProfile")
$env:GOPATH = $user + "/project"
$env:GOBIN = $env:GOPATH + '/bin'
GOPATHとGOBINの設定をします。
これでghq get
したファイルと一箇所にまとめる事が出来ます。
終わりに
めんどくさいディレクトリ移動を無くして、エンジョイ、ターミナルライフ!
Discussion