3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

zsh で git のサブコマンドを一括で alias 登録する

Posted at

概要

例えば git addgadd のように alias している人も多いのではないでしょうか。しかし、たくさんあるサブコマンドを alias に登録するのはちょっと面倒です。そこで、自動でやらせてみました。

ソース

.zshrc にコピペしてご利用下さい。どちらか片方でも両方でも良いですが、両方入れておくと便利だと思います。

下記ソースでは、g を prefix としてサブコマンドが続く alias を登録しています。例えば、以下のような感じです。

  • gaddgit add
  • gpushgit push
  • gstgit st (.gitconfigst の alias が登録されている場合)

prefix を変えたい場合は alias g となっている辺りを編集して下さい。

デフォルトのサブコマンド用

if [[ -d $(git --exec-path) ]]; then
  foreach file ($(git --exec-path)/git-*)
    eval "alias g${file/*git-/}='git ${file/*git-/}'"
  end
fi

.gitconfig で alias したサブコマンド用

if [[ -f "$HOME/.gitconfig" ]]; then
  eval `\
    sed -e 's/;.*$//' \
        -e 's/[[:space:]]*$//' -e 's/^[[:space:]]*//' < "$HOME/.gitconfig" | \
    sed -n -e "/^\[alias\]/,/^\s*\[/{/^[^;].*\=.*/p;}" | \
    sed -e 's/\([^ =]\+\).*/alias g\1="git \1"/g' \
  `
fi

参考

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?