このページの本文へ

FIXER Tech Blog - Development

gitコマンド、長いしだるいしMMS(マジ・短く・したい)

2025年01月29日 16時00分更新

文● 加藤怜/FIXER

  • お気に入り
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「gitコマンド、長いしだるいしMMS【Gitエイリアス】」を再編集したものです。

 本記事はFIXER Advent Calendar 2024( FIXER Advent Calendar 2024 ~ Tech編 ~ )12月21日の記事です。

 MMS。(マジ みじかく したい)

 どうも、加藤怜です。

 gitコマンド、長いとだるいですね。

 git pull --rebase origin develop とか git push --force-with-leaseとかgit config --global --editとか。

 これがgit rebdevとか、git pushfとか、git configgeになったら嬉しくないですか?

 というわけでn番煎じですが布教・備忘録としてGitエイリアスについて書きます。

 最低限のコストで、少しでも効率的に書けるようになれれば幸いです。

※この記事は"gitコマンドは理解しているけどエイリアスは使っていない層向け"です |ところどころコマンドの詳細など省いて説明しています⚠ | もっと良いエイリアス、便利なエイリアスがあったらぜひ教えて下さい!

 gitの基本的なコマンド・基礎については江藤さんのこちらの記事をご覧ください!!

Gitエイリアスとは

 公式曰く、

Gitの使い勝手をシンプルに、簡単に、わかりやすくしてくれる、エイリアスです。

2.7 Git の基本 - Git エイリアス

 だそうです。

 要は、Gitに存在するコマンドを置き換える機能です。

 commit -> cm、branch-> b など、効率よくコマンドを打てるようになりますね!

Gitエイリアスの設定方法

 ターミナルで

git config --global alias.ci commit

 あるいは

git config --global --edit

で設定可能です。

 前者は1つずつ設定するコマンド、後者はエディタで直接.gitconfigを設定するコマンドです。(.gitconfigファイルは例で提示します)

例(筆者が設定しているエイリアス)

 筆者の環境はMacです。よく使うコマンドを設定しています。

 コピペして使っていただいて構いません!

[alias]
	alias = !git config --list | grep ^alias\\.
	b = branch
	com = commit -m
	configGE = config --global --edit
	delAllBranch = !"git branch | grep -v 'develop' | xargs git branch -d"
	deleteAllBranch = !"git branch | grep -v 'develop' | xargs git branch -d"
	dev = switch develop
	logone = log --oneline
	sl = stash list
	st = status
	ss = stash save
	sp = stash pop
	sw = switch
	rebdev = pull --rebase origin develop
	rebcon = rebase --continue
	resohe = reset --soft HEAD^
	rest = restore
	pushf = push --force-with-lease
	pushu = push -u origin HEAD
	pop = stash pop

 よくある流れとしては、ブランチ切る-> ステージング->コミット->プッシュ(アップストリーム)ですね。

 エイリアスなしだと

 エイリアスを使うと

 コマンド1個分くらい短くなりました!よく使うコマンドだけでも設定しておくと幸せになれます。

終わりに

 ここまで読んでくださってありがとうございます!

 最低限、commit、branch、switch ...etcなど、よく使うものだけでも設定してみてはいかがでしょうか。

 今すぐ"git config --global --edit"して自分好みにカスタマイズしてください!

TL;DR

 ここからは余談です。

注意点 ⚠

 デメリットです

・元のコマンドを忘れる(コマンド理解が浅くなる・他のPC触るときに戸惑う)
・覚える必要がある

 コマンドに慣れてから使いましょう!

(効率を求めて基礎を疎かにしない、という自戒を含みます)

Tips 💡

エイリアスには大文字小文字の区別がない
 筆者の例では"configGE"という設定がありますが、コマンドを打つ際は "configGE" も "configge" もどちらも使えます。

(詳しくは参考資料2)

エイリアスで外部コマンドを使う
 エイリアスの先頭に!を付けると、ターミナルのコマンドが使えます

エイリアスにエイリアスを使う
 cm = commit

 cmm = cm -m

 というようにできます。(cmmというエイリアスでcmというエイリアスを使っている)

エイリアスで引数を使う(シェルスクリプト)

addcom = "!f() { git add \"$1\" && git commit -m \"$2\"; }; f"

 $1, $2にコマンドライン引数が入ります。(gitコマンドではなく、シェルスクリプトの機能)

 こうすれば、' git addcom hoge.txt "hoge" ' というように、ステージングとコミットを同時に行えます(ただし1ファイルまたは全てのファイル(.)の指定の場合のみ)

 外部コマンドが使えるため、シェル芸っぽく何でもできます。

参考資料

1. https://git-scm.com/book/ja/v2/Git-の基本-Git-エイリアス
2. https://qiita.com/YamEiR/items/d98ba009d2925e7eb305
3. https://www.eficode.com/blog/10-levels-of-git-aliases-beginner-to-intermediate-concepts

加藤怜/FIXER
ゲームとねこが好きです。生粋のイジられキャラ。

カテゴリートップへ

この連載の記事