みなさんgitコマンドを頑張って入力していますか?簡単に入力したくないですか?今日はエイリアスを使ってgitの設定をいじっちゃいましょう!
1. 基本設定
.gitconfigファイルに以下の設定を追加する.
.gitcinfig
[alias]
# ファイル操作系
a* = add *
aa = add --all
au = add -u
rm = rm
mv = mv
# 状態確認系
s = status
ss = status -s
sh = show
d = diff
ds = diff --staged
# コミット系
cm = commit -m
cam = commit -am
ca = commit --amend
cane = commit --amend --no-edit
# ブランチ操作系
b = branch
ba = branch -a
bd = branch -d
bD = branch -D
co = checkout
cob = checkout -b
sw = switch
swc = switch -c
# リモート操作系
pl = pull
ps = push
psf = push --force-with-lease
pso = push origin
plo = pull origin
f = fetch
fa = fetch --all
# マージ・リベース系
mg = merge
mgnf = merge --no-ff
rb = rebase
rbi = rebase -i
rbc = rebase --continue
rba = rebase --abort
# ログ表示系
l = log --oneline
lg = log --graph --oneline --decorate
lga = log --graph --oneline --decorate --all
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
# クリーンアップ系
rs = reset
rsh = reset --hard
rss = reset --soft
cl = clean -fd
# スタッシュ系
st = stash
stp = stash pop
stl = stash list
sta = stash apply
2. 使用例と解説
2.1 ファイル操作の効率化
- 全ファイルの追加: git ga* または git gaa
- 追跡済みファイルの追加: git gau
実行例:
before:
git add --all
after:
git aa
2.2 状態確認の簡略化
- 状態確認: git s
- 簡潔な状態表示: git ss
実行例:
before:
git status
after:
git s
2.3 コミット操作の効率化
- メッセージ付きコミット: git cm "メッセージ"
- 追跡ファイルの追加とコミット: git cam "メッセージ"
実行例:
before:
git commit -m "feat: 新機能追加"
after:
git cm "feat: 新機能追加"
2.4 ブランチ操作の簡略化
- ブランチ一覧: git b
- 新規ブランチ作成と切り替え: git swc feature
実行例:
before:
git switch -c feature/new-function
after:
git swc feature/new-function
2.5 ログ表示の改善
- シンプルなログ: git l
- グラフ付きログ: git lg
実行例:
before:
git log --graph --oneline --decorate
after:
git lg
3. 応用テクニック
.gitconfigに以下のような複合コマンドも設定できる.
.gitconfig
[alias]
# コミットプッシュ
cmp = "!f() { git add --all && git commit -m \"$@\" && git push; }; f"
# ブランチクリーンアップ
cleanup = "!f() { git branch --merged | grep -v '*' | xargs git branch -d; }; f"
# リモートブランチ同期
sync = "!f() { git fetch --prune && git pull && git cleanup; }; f"