ghqとanyframeで快適にGitリポジトリを管理する
研究室のScrapBoxに書いたものを転載!!!
想定環境としては
です
なにが快適になるか
- git clone をどこにしようか迷う必要がなくなる
- git clone したものをどこに保存していたか分からなくなることがなくなる
ghqとは
- Goで実装されたリポジトリ管理ツール
- イントロダクションや使い方はハンドブックを参考にしてください
- anyframe導入してしまったら主に使うコマンドは
ghq get <repositoryのURL>
くらいです
Goをインストールする
- Goで実装されているのでGoがまだ入っていなければインストールが必要です
- 個人的には
goenv
を使ってバージョン管理するのがおすすめです - とはいえ, ghqのためにしかGoを使わないのであれば
brew isntall go
で十分な気がする
- 個人的には
$GOPATH
というものを設定する必要がある- zsh を使ってる場合は
.zprofile
とかに以下の設定を書いておく
- zsh を使ってる場合は
export GOPATH=~/.go export PATH=$PATH:$GOPATH/bin
source .zprofile
などして設定を反映しておく
ghqをインストールする
brew install ghq
で入る(Windowsは知らん!)
anyframeをインストールする
リスト表示する系コマンドの出力結果を受け取ってインタラクティブに選択させてくれるやつ
リスト表示 -> 絞り込み -> 選択 -> 実行の4ステップをシームレスにつなぐにくいやつ
現代CLIの革命児
今回は ghq で取得してきたリポジトリをキーバインドを入力するだけで検索&目的のリポジトリがあるディレクトリまで移動を実現するために使います
brew install peco
を実行- anyframeが使う
peco
というツールをインストールする
- anyframeが使う
mkdir ~/.zsh
を実行して、anyframeを入れておくディレクトリを作成するcd ~/.zsh
で.zsh
の中に入ってgit clone https://github.com/mollifier/anyframe.git
を実行~/.zshrc
の適当な場所に以下を追記
fpath=($HOME/.zsh/anyframe(N-/) $fpath) autoload -Uz anyframe-init anyframe-init
source ~/.zshrc
などして 設定を反映
anyframeの便利キーバインドを設定する
- この辺からは好みが出てくると思いますので 私 の環境を参考程度に貼っておきます
- 再び
~/.zshrc
に書いていく
bindkey '^xr' anyframe-widget-execute-history bindkey '^x^r' anyframe-widget-execute-history bindkey '^xp' anyframe-widget-put-history bindkey '^x^p' anyframe-widget-put-history bindkey '^xg' anyframe-widget-cd-ghq-repository bindkey '^x^g' anyframe-widget-cd-ghq-repository bindkey '^xk' anyframe-widget-kill bindkey '^x^k' anyframe-widget-kill bindkey '^xi' anyframe-widget-insert-git-branch bindkey '^x^i' anyframe-widget-insert-git-branch bindkey '^xf' anyframe-widget-insert-filename bindkey '^x^f' anyframe-widget-insert-filename
bindkey
の後ろにあるキーバインドで その後ろに書いてあるようなことが実行される例えばよく使うものだと
まとめ
これからgitリポジトリを管理する流れとしては
という流れで自分が今どのディレクトリにいるのか、repositoryはどこに保存されているのかなどを気にせずに作業ができる!!