Gitエイリアスの設定方法!コマンドを短くする便利な設定例を紹介!

Gitを使っていると、git statusやgit checkoutなど、同じコマンドを何度も入力することがあります。

「毎回入力するのが少し面倒」「よく使うコマンドを短くしたい」と感じたときに便利なのが、エイリアス(alias)です。

エイリアスを設定すると、よく使うGitコマンドを、自分で決めた短い名前で実行できます。

この記事では、以下の内容を初心者向けにわかりやすく解説します。

  • Gitコマンドのエイリアスとは何か
  • エイリアスの設定方法
  • 最初に設定しておきたいエイリアスと便利な設定例
  • エイリアスを使うメリット・デメリット

Gitコマンドのエイリアスとは?

Gitコマンドのエイリアスとは?

Gitコマンドのエイリアスとは、Gitのコマンドに別名を付けて実行できるようにする設定です。

例えば、変更したファイルの状態を確認するときは、通常、次のコマンドを実行します。

git status

ここで、statusにsというエイリアスを設定すると、次のように短く入力できます。

git s

この場合、git sを実行すると、git statusと同じ処理が行われます。

statusの6文字がsの1文字になるだけですが、1日に何度も使うコマンドであれば、入力の手間を減らせます。

また、エイリアスにはオプションも含められます。例えば、git log --oneline --graphのような長いコマンドを、git lgという短い名前で呼び出すことも可能です。

エイリアスを設定しても、元のコマンドはそのまま使用できます。 sを登録した後も、git statusは通常どおり実行できます。

あわせて読みたい

エイリアス(alias)とは、ある対象に付ける「別名」や「あだ名」です。以下の記事で「エイリアス」について、詳しく説明していますので、興味のある方は下記のリンクからぜひチェックをしてみてください。

エイリアスの設定方法

Gitのエイリアスは、主に次の2つの方法で設定できます。

  • 設定ファイル(.gitconfig)を直接編集する
  • git configコマンドで登録する

どちらもGitの設定ファイルにエイリアスを保存する方法です。少数のエイリアスを手軽に追加するならgit configコマンド、一度に複数の設定を確認・編集するなら設定ファイル(.gitconfig)を使うと便利です。

設定ファイルを直接編集する方法

ユーザー単位のGit設定は、一般的に~/.gitconfigという設定ファイルに保存されています。

~はホームディレクトリを表します。~/.gitconfigの場所は、Windowsでは通常C:/Users/ユーザー名/.gitconfig、Linuxでは通常/home/ユーザー名/.gitconfigです。

設定ファイル(.gitconfig)を開き、次の内容を追記して保存します。

[alias]
    s = status

それぞれの意味は次のとおりです。

記述意味
[alias]ここからエイリアスの設定を記述する
s自分で決めたエイリアス名
status実行するGitコマンド

右側には、git statusではなく、先頭のgitを省いたstatusを記述します。

保存後、Gitで管理しているフォルダ内で次のコマンドを実行してください。

git s

git statusと同じように、変更したファイルや現在のブランチなどの情報が表示されれば設定完了です。

複数のエイリアスを登録したい場合は、同じ[alias]の下に追加していきます。

[alias]
    s = status
    f = fetch
    pl = pull
    co = checkout
    cob = checkout -b

この設定では、次のようにコマンドを省略できます。

入力するコマンド実行されるコマンド内容
git sgit statusファイルの変更状態を確認する
git fgit fetchリモートの最新情報を取得する
git plgit pullリモートの変更を取得し、現在のブランチに取り込む
git co ブランチ名git checkout ブランチ名指定したブランチに切り替える
git cob ブランチ名git checkout -b ブランチ名ブランチを新規作成して切り替える

すでに[alias]がある場合は、その下に必要な設定を追加してください。

git configコマンドで登録する方法

エディターを使わず、コマンドでエイリアスを登録することもできます。

設定コマンドは、次の形で指定します。

git config --global alias.エイリアス名 "実行するGitコマンド"

例えば、git statusをgit sで実行できるようにする場合は、次のコマンドを実行します。

git config --global alias.s "status"

登録後は、次のように実行できます。

git s

これでgit statusと同じ処理が行われます。

各部分の意味は次のとおりです。

指定意味
git configGitの設定を確認・変更する
--global現在のユーザー向けの設定として保存する
alias.ssというエイリアスを設定する
"status"エイリアスで実行するコマンドを指定する

オプションを含むコマンドを登録する場合は、次のように指定します。

git config --global alias.ss "status -s"

これでgit ssを実行すると、git status -sが実行されます。

status -sのように空白を含む設定値は、引用符で囲んで1つのまとまりとして渡します。

--globalと--localの違い

エイリアスは、「自分が使うすべてのリポジトリで共通して使う設定(--global)」と「特定のリポジトリだけで使う設定(--local)」を選べます。

指定設定が適用される範囲主な用途
--global現在のユーザーが使う各リポジトリ普段使う共通のエイリアス
--local現在のリポジトリだけ特定のプロジェクト専用のエイリアス

例えば、現在のリポジトリだけでgit sを使えるようにする場合は、そのリポジトリ内で次のコマンドを実行します。

git config --local alias.s "status"

同じエイリアス名がユーザー単位とリポジトリ単位の両方に設定されている場合、そのリポジトリではリポジトリ単位の設定が優先されます。

普段使う省略形であれば、まずは--globalで登録するとよいでしょう。

最初に設定しておきたいエイリアス

最初に登録しておくと便利なのが、設定済みのエイリアスを一覧表示するエイリアスです。

エイリアスが増えると、「どの名前で登録したか忘れてしまった」ということもあります。一覧をすぐに確認できれば、設定ファイルを毎回開く必要がありません。

ここでは、git alで一覧を確認できるようにします。

git config --global alias.al "config --get-regexp ^alias[.]"

登録後、次のコマンドを実行すると、エイリアスの一覧が表示されます。

git al

# 実行結果
alias.al config --get-regexp ^alias[.]
alias.s status
alias.ss status -s
alias.co checkout

表示内容や順番は、実際の設定によって異なります。

alias.s statusは、「sというエイリアスにstatusが登録されている」という意味です。

設定に使っている--get-regexpは、設定名が指定したパターンに一致する項目を表示するオプションです。^alias[.]は、「alias.で始まる設定名」を表しています。

なお、正規表現では[.]と\.は、どちらも文字としてのピリオドを表せます。ここでは、引用符やバックスラッシュの扱いで迷いにくいように[.]を使用しています。

様々な設定例

よく使うコマンドや、オプションを含む長いコマンドを登録すると便利です。

以下はエイリアスの設定例です。エイリアス名は決まった規格ではないため、自分が覚えやすい名前に変更して構いません。

エイリアス実行されるコマンド用途設定コマンド
git sgit statusファイルの変更状態を確認するgit config --global alias.s "status"
git ssgit status -sファイルの状態を短い形式で表示するgit config --global alias.ss "status -s"
git fgit fetchリモートの最新情報を取得するgit config --global alias.f "fetch"
git plgit pullリモートの変更を取得し、現在のブランチに取り込むgit config --global alias.pl "pull"
git brgit branchローカルブランチを一覧表示するgit config --global alias.br "branch"
git cogit checkoutブランチの切り替えなどを行うgit config --global alias.co "checkout"
git cobgit checkout -bブランチを新規作成して切り替えるgit config --global alias.cob "checkout -b"
git swgit switchブランチを切り替えるgit config --global alias.sw "switch"
git swcgit switch -cブランチを新規作成して切り替えるgit config --global alias.swc "switch -c"
git cigit commitステージした変更をコミットするgit config --global alias.ci "commit"
git dfgit diffステージしていない変更の差分を確認するgit config --global alias.df "diff"
git dcgit diff --cachedステージした変更の差分を確認するgit config --global alias.dc "diff --cached"
git logit log --onelineコミット履歴を1件につき1行で表示するgit config --global alias.lo "log --oneline"
git lggit log --oneline --graph --decorateコミット履歴を分岐・合流がわかる形式で表示するgit config --global alias.lg "log --oneline --graph --decorate"
git lastgit log -1現在の位置から最新のコミットを1件表示するgit config --global alias.last "log -1"

最初からすべて登録する必要はありません。まずはs、f、pl、co、cobなど、実際によく使うものを少数だけ登録すると覚えやすくなります。

エイリアスの後ろに引数やオプションを付ける

エイリアスは、登録した名前だけで実行する必要はありません。通常のGitコマンドと同じように、後ろにブランチ名やオプションを付けられます。

例えば、co = checkoutを登録済みで、mainブランチが存在する場合は、次のように切り替えられます。

git co main

これは、git checkout mainと同じ意味です。

また、lo = log --onelineを登録していれば、次のコマンドで最新5件のコミットを表示できます。

git lo -5

この場合は、git log --oneline -5として実行されます。

よく使う部分だけをエイリアスにして、件数やブランチ名などを実行時に指定すると、少ない設定で使い回せます。

エイリアスをつけるメリットとデメリット

エイリアスをつけるメリットとデメリットを以下に示します。

メリット

  • 入力する文字数を減らせる
    • 頻繁に使うコマンドほど、繰り返し入力する手間を減らせます。長いコマンドではタイプミスの防止にも役立ちます。
  • 覚えやすい名前を付けられる
    • lastを「最新のコミットを確認するコマンド」として登録するなど、自分が用途を思い出しやすい名前を使えます。
  • よく使うオプションをまとめられる
    • 履歴をいつも同じ形式で確認する場合などに、オプションを毎回入力せずに済みます。
  • 自分に合う設定を試す楽しさがある
    • 実際に使いながら名前や表示形式を調整することで、普段の作業を進めやすい環境にできます。

デメリット

  • 操作の影響を意識せずに実行しやすくなる
    • 短い名前にすると、コマンドの内容を十分に確認せず実行してしまうことがあります。変更を破棄する操作や強制的な操作を登録する場合は、特に注意が必要です。
  • 元のコマンドを思い出しにくくなることがある
    • エイリアスだけを使い続けると、正式なコマンド名やオプションを忘れる場合があります。ほかの人に説明するときや、設定のない環境で作業するときに困ることがあります。
  • 画面共有や手順説明で意図が伝わりにくい
    • 自分にはわかる名前でも、見ている人が意味を理解できるとは限りません。説明時は元のコマンドを使うか、何の別名なのかを伝えましょう。
  • 別の環境では同じ名前を使えない場合がある
    • エイリアスは設定した環境で使うものです。ほかのパソコンやサーバーでも同じ設定があるとは限りません。

まずはstatusやlogなど、状態や履歴を確認するコマンドから登録すると使い始めやすくなります。

本記事のまとめ

この記事では「Gitコマンドのエイリアス」について、以下の内容を説明しました。

  • エイリアスを設定すると、Gitコマンドを自分で決めた別名で実行できる
  • 設定方法には、設定ファイルの直接編集とgit configによる登録がある
  • 普段使う共通の設定には--global、リポジトリ専用の設定には--localを使用する
  • git alなどで一覧表示できるようにすると、登録したエイリアスを確認しやすくなる
  • 元のコマンドの意味を理解し、よく使うものから少しずつ登録すると活用しやすい

お読みいただきありがとうございました。

スポンサーリンク