Skip to content

Gitエイリアス

バージョン管理ワークフローを強力なショートカットで効率化。

概要

Gitエイリアスは頻繁に使用するGitコマンドのショートカットを作成します。Dotfiles設定の一部で、Chezmoiによって自動的にロードされます。

git.aliases.shsigning.aliases.shで定義され、インストール後は任意のBashまたはZshセッションで利用できます。

リファレンス

コア

エイリアスコマンド説明
ggitgitの省略形
gtpgit rev-parse --show-toplevelリポジトリのトップレベルディレクトリを表示
grpagit rev-parse --abbrev-ref HEAD現在のブランチ名を表示
gconflgit config --listすべてのGit設定を一覧表示
gconfrgit config --local --get remote.origin.urlリモートorigin URLを表示
gconfdiffgit config alias.dcolor "diff --color-words"カラー差分エイリアスを設定

作業エリア

エイリアスコマンド説明
gagit addファイルをステージング
gaagit add --allすべての変更をステージング
gadgit add .カレントディレクトリをステージング
gaugit add --update変更と削除をステージング
gclgit cloneリポジトリをクローン
gingit init新しいGitリポジトリを初期化
gcogit checkoutブランチを切り替え
gcbgit checkout -b新しいブランチを作成して切り替え
gdisgit checkout --作業ディレクトリの変更を破棄
grsgit restore作業ツリーファイルを復元
gmvgit mvファイルを移動または名前変更
grmgit rmファイルを削除
grmcgit rm --cachedファイルをアンステージング
gstgit status作業ツリーの状態を表示
gstsgit status --short短形式で状態を表示
gstsbgit status --short --branchブランチ情報付きの短形式状態
gstagit stash save現在の変更をスタッシュ
gstpgit stash pop最新のスタッシュを適用
gstdgit stash drop最新のスタッシュを削除
gcloutgit clean -df && git checkout -- .すべての変更を破棄

コミット

エイリアスコマンド説明
gcgit commit -a追跡済みの変更をコミット
gcagit commit --amend最後のコミットを修正
gcallgit add -A && git commit -avすべてをステージングしてコミット
gcamgit commit --amend --message新しいメッセージでコミットを修正
gcanegit commit --amend --no-editメッセージを変更せずに修正
gcmgit commit --messageインラインメッセージでコミット

差分と履歴

エイリアスコマンド説明
gdgit diffステージングされていない変更を表示
gdchgit diff --name-status変更されたファイルの名前を表示
gdhgit diff HEAD最後のコミット以降の変更を表示
gdstagedgit diff --stagedステージングされた変更を表示
gdcachedgit diff --cachedインデックスとHEAD間の変更を表示
gdstatgit diff --stat --ignore-space-change -rdiffstatを生成
glgit log --since="last month" --oneline過去1ヶ月の1行ログ
glggit log --graph --all --oneline --decorate全ブランチのグラフログ
glgggit log --oneline --graph --full-history --all --color --decorate完全履歴グラフログ
glcgit log --oneline --reverse時系列の1行ログ
gldgit log --since=1-day-ago過去24時間のログ
gldcgit log -1 --date-order --format=%cI最新コミットのISO 8601日付
gldlgit log --date=localローカルタイムゾーンでのログ
glfgit log ORIG_HEAD.. --stat --no-mergesフェッチ後の新しいコミット
gll(装飾グラフ形式)詳細グラフログ

ブランチ

エイリアスコマンド説明
gbgit branchローカルブランチを一覧表示
gbdgit branch -dマージ済みブランチを削除
gblgit branch -lパターンにマッチするブランチを一覧表示
gbrgit branch -rリモートブランチを一覧表示
gbrdgit branch -d -rリモート追跡ブランチを削除
gbrsbgit show-branchブランチとそのコミットを表示
gswbgit switchブランチを切り替え(モダン)
gcodegit checkout main && git branch --merged | xargs git branch --deletemainにマージされたブランチを削除
gcomgit checkout main && git fetch origin --prune && git reset --hard origin/mainローカルmainをリモートに合わせてリセット

リモートとPush/Pull

エイリアスコマンド説明
gfgit fetchリモートからフェッチ
gpgit pullリモートからプル
gphgit pushリモートにプッシュ
gpogit push originoriginにプッシュ
gpbgit push --set-upstream origin $(git branch --show-current)アップストリームを設定してプッシュ
gpollgit push origin --allすべてのブランチをoriginにプッシュ
gpullgit pullリモートからプル
gpushgit pushリモートにプッシュ
grgit remoteリモートを管理
gragit remote add新しいリモートを追加
grallgit remote | xargs -L1 git push --allすべてのブランチをすべてのリモートにプッシュ
graogit remote add originoriginリモートを追加
grvgit remote -vリモートURLを表示

リバートとリセット

エイリアスコマンド説明
grevgit revertコミットを取り消し
grevncgit revert --no-commit自動コミットなしで取り消し
grbgit rebase現在のブランチをリベース
grbkgit reset --soft HEAD^最後のコミットを取り消し
gresclgit reset --hard HEAD~1 && git clean -fdハードリセットとクリーン
greshgit reset --hard HEAD~1前のコミットにハードリセット
grespgit reset --hard && git clean -ffdx初期状態にリセット
gressgit reset --soft HEAD~1ソフトリセット

サブモジュール

エイリアスコマンド説明
gsmgit submoduleサブモジュールを管理
gsmigit submodule initサブモジュールを初期化
gsmagit submodule addサブモジュールを追加
gsmsgit submodule syncサブモジュールURLを同期
gsmugit submodule updateサブモジュールを更新
gsmuigit submodule update --init更新して初期化
gsmuirgit submodule update --init --recursive更新、初期化、再帰

ツール

エイリアスコマンド説明
gggit grepリポジトリコンテンツを検索
gbsgit bisectバグを導入したコミットを二分探索
undopushgit push -f origin HEAD^:master最後のプッシュを強制取り消し

署名とセキュリティ

エイリアスコマンド説明
enable-signing(インタラクティブウィザード)GPGまたはSSHコミット署名を設定
verify-signaturesgit log --show-signature -n 10最後の10コミットの署名を検証
check-signinggit config --list | grep "gpg|signing"現在の署名設定を確認