Site cover image
Git git-completionでコマンドやブランチ名を補完する方法(zsh)

Gitコマンドは普段何度もタイプするので、効率アップのために補完を使うのがおすすめです。

Gitコマンドを補完するために「git-completion」というスクリプトが公開されています。

git-completionを使うと、branchcheckoutといったサブコマンドや、ブランチ名をタブキーで素早く補完することができます。

Image in a image block
git-completion

このエントリでは、zshでGitのサブコマンドやブランチ名を補完するgit-completionの設定方法を紹介します。

なお、Mac Catalina(10.15)以降ではデフォルトでログインシェルがzshになっているようです。

最初に、補完スクリプトを配置するディレクトリを作成します。

% mkdir ~/.zsh/completion
% cd ~/.zsh/completion

下記からgit-completion.bashgit-completion.zshをダウンロードし、~/.zsh/completionディレクトリに配置します。

git-completion.zsh_gitにリネームします。

% curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
% curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh
% mv git-completion.zsh _git

~/.zshrcに補完を有効にする設定を追記します。

# git-completion
fpath=(~/.zsh/completion $fpath)
autoload -U compinit
compinit -u

ターミナルを閉じて開き直すと補完が有効になります。

ついでに、プロンプトに現在のブランチ名も表示しておくと便利です。

こんな感じ。

[ops (master)]% 

現在のブランチ名を表示するにはgit-prompt.shをダウンロードして読み込みます。

% cd ~/.zsh
% curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh

.zshrcに下記を追記します。%%のところは\$などお好みで変更してください。

# git-prompt
source ~/.zsh/git-prompt.sh
setopt PROMPT_SUBST
PS1='[%n@%m %c$(__git_ps1 " (%s)")]%% '

ターミナルを閉じて開き直すなどして.zshrcを読み込むと、Gitリポジトリでブランチ名の表示が有効になります。

以上です。

このエントリでは、zshでGitのサブコマンドやブランチ名を補完するgit-completionの設定方法を紹介しました。

Thank you!
Thank you!
URLをコピーしました

コメントを送る

コメントはブログオーナーのみ閲覧できます