SourceTreeが苦手なのでgitコマンドを使いこなせるようになりたいです。
リポジトリが沢山あって大変なのでターミナル環境含めて環境構築をしました。
出来るようになること
- リポジトリを一つのディレクトリ配下で集中管理する(ghq)
- Ctrl+Gでリポジトリ一覧表示、検索、ディレクトリ移動(fish-ghq + peco)
- Ctrl+rでコマンド履歴検索(plugin-peco)
- fish_configなどカスタマイズはお好みで
手順
- fishインストール
- pecoインストール
- ghqインストール
- ghqで管理するgitディレクトリを設定する
- fisher(fisherman)インストール
- oh-my-fish/plugin-pecoインストール
- コマンド履歴検索のキーバインドを追加(Ctrl+r) (oh-my-fish/plugin-peco)
- decors/fish-ghqインストール(キーバインドは標準でCtrl+g)
- fish-ghqで利用するSELECTORをpecoに切り替える
- ログインシェルを変更する(お好みで)
brew install fish
brew install peco
brew install ghq
git config --global ghq.root ~/git
ghqでリポジトリを管理する、ディレクトリを指定します。~/gitなどお好みで。
curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
fisher add oh-my-fish/plugin-peco
# ~/.config/fish/config.fishに追加
#fisherパッケージoh-my-fish/plugin-pecoの設定
function fish_user_key_bindings
bind \cr peco_select_history # Bind for prco history to Ctrl+r
end
fisher add decors/fish-ghq
# ~/.config/fish/config.fishに追加
#fisherパッケージdecors/fish-ghqの設定
set GHQ_SELECTOR peco
# 末尾に /usr/local/bin/fish を追加
sudo vi /etc/shells
# デフォルトシェルを fish に変更
chsh -s /usr/local/bin/fish
使い方
fisherパッケージマネージャで管理しているパッケージをロードする
fisher
fishシェルを起動後、上記コマンドを実行します。(誰か自動で実行する正しい?方法を知っている方が居たら教えてください)
コマンド履歴を表示する
Ctrl-rでコマンド履歴を表示します。
Gitリポジトリをクローンする
ghq get リポジトリのURL
ghq.rootを設定することで、保存先のディレクトリを意識せず手軽にクローンできます。
Gitリポジトリ一覧を表示する
Ctrl-gでリポジトリの一覧を表示します。