Gitの小ネタおれおれAdvent Calendar 2022 – 11 日目
よく使うコマンドに別名 alias を付けてショートカットすることができます。
例えばおれは git status --short --branch
をよく使うので git s
で出るようにしてます。
コマンドから設定するやり方と、その結果が保存されている設定ファイルを編集するやり方があります。ファイル編集の方がじっくりやれて良いかと思います、お好みですが。
コマンドで設定
config
で alias.xxx
を用意すると xxx
というサブコマンド的なものが使えるようになります。
$ git config --global alias.s "status --short"
$ git s
これで s
が status --short
のエイリアスになります。
--global
を付けなければ今いるプロジェクト専用のものになります。(普通はそうしないと思う。)
設定ファイルを編集
たぶん Linux なり何なり、お使いの環境のホームディレクトリー ~/
に .gitconfig
というファイルがあります。
例えばもし先の git config
を実行していれば、こんな感じのものが用意されているはず。
[alias]
s = status --short
Git 実行のたびにこのファイルが参照されるみたいなので、つまり更新は即時反映されます。テキストエディターで開いて s
を ss
にすると git ss
というコマンドで動くようになります。
エイリアス実行時にオプションを与える
エイリアスは単に入力置き換えるようなものなので、後ろにオプションを足すこともできます。
例えば先の s = status --short
がある状態で、以下は同じ結果になります。
$ git status --short --branch
$ git s --branch
例
自分が設定しているものをいくつか。
1 文字のやつら
よく使うやつらは 1 文字で出てくるようにしてます。
[alias]
s = status -sb
c = checkout
w = switch
b = branch
git cm "message"
で即コミット
普通 git commit
すると Vim とかが出てきてコミットメッセージを入力するんですが、-m
オプションでコマンドラインからメッセージを与えることができます。
だいたいは 1 行で済むので CLI から git cm "message"
でさくっとコミットできるようにしています。
[alias]
cm = commit -m
git path
でコミットグラフを表示する
こないだ書いたやつ↑はこんなショートカット↓で登録してます。
[alias]
path = log --graph --date=short --pretty=format:\"%C(yellow)%h %C(white)%s %C(green)%d %C(red)%cn %C(blue)%cd - %cr\"
Git ではないコマンドを実行
s = status --short
の右側はコマンドラインでは git status --short
に相当します。Git のサブコマンドというやつですね。
Git と関係ない、git xxx
にならない通常のコマンド(例えば ls
とか)が欲しい場合、!
を先頭に付けると実現できます。
[alias]
ignore-list = !cat .gitignore
$ git ignore-list
node_modules/
npm-debug.log*
.DS_Store
Git に関連するツールの呼び出しを想定しているみたい。
おしまい
人の .gitconfig
を見せてもらうとへえ~があるかと思います。