エンジニアの皆さん、こんにちは。日々のGit操作で、`git checkout -b feature/xxx` と打ってから `git push -u origin feature/xxx` を叩く……そんな「定型作業」に指先をすり減らしていませんか?
Gitの真の力は、単なるバージョン管理ツールとして使うことではありません。「自分専用のGit」にカスタマイズし、CLIを自分の指の延長にすることです。
今回は、Gitの深淵に触れる第一歩として、`git-xxx` という名前であなただけのサブコマンドを作成し、開発フローを極限まで加速させる魔法のような手法を伝授します。
—
1. Gitの「隠し扉」:サブコマンドの仕組み
実は、Gitは非常に賢い設計をしています。`git` コマンドを実行したとき、Gitはシステムパス(`PATH`)の中を検索し、`git-` で始まる実行ファイルを探しに行きます。
つまり、`git-hoge` という実行可能なファイルをパスの通った場所に置くだけで、あなたは `git hoge` というコマンドを叩けるようになるのです。これはプラグインを入れるような仰々しいものではなく、Unixの哲学そのもの。「小さく作り、組み合わせて使う」のです。
2. 環境構築:まずは「自分だけの道具箱」を作る
まずは、自作コマンドを管理するためのディレクトリを作成し、パスを通しましょう。
ホームディレクトリにbinフォルダを作成
mkdir -p ~/bin
パスを通す(まだ設定していない場合、.zshrcや.bashrcに追記してください)
echo ‘export PATH=”$HOME/bin:$PATH”‘ >> ~/.zshrc
source ~/.zshrc
これで、`~/bin` に置いたスクリプトは、どこからでも `git
—
3. 実践:ブランチ作成からPushまでを1秒で終わらせる
では、最も頻度の高い「ブランチ作成 → リモート追跡設定」を自動化する `git-feature` を作りましょう。
ステップ1:スクリプトを作成
`~/bin/git-feature` を作成し、以下のコードを記述してください。
!/bin/bash
引数がない場合はヘルプを表示
if [ -z “$1” ]; then
echo “Usage: git feature
exit 1
fi
BRANCH_NAME=$1
1. ブランチを作成してチェックアウト
git checkout -b “$BRANCH_NAME”
2. リモートへプッシュして上流ブランチを設定(初回のみ)
git push -u origin “$BRANCH_NAME”
echo “✅ Branch ‘$BRANCH_NAME’ is ready and pushed!”
ステップ2:実行権限を与える
作成したファイルに、OSが実行できるように許可を与えます。
chmod +x ~/bin/git-feature
ステップ3:動作確認
ターミナルを開き、Gitリポジトリ内でこう打ってみてください。
git feature my-new-awesome-feature
……どうですか?たった一行で、ブランチ作成からリモート同期までが完了しました。
—
4. なぜこれが「プロの嗜み」なのか
この手法が優れている理由は、「コンテキストスイッチを最小化できるから」です。
コマンドを自作する過程で、あなたは「自分が今何をしているか」を言語化することになります。「ブランチを作る」「リモートに送る」「CIを走らせる」……これらをスクリプトに落とし込む過程で、あなたのGitワークフローは徹底的に標準化されます。
さらに、この手法を応用すれば以下のような「無敵のコマンド」も作れます。
- `git-sync`: `main` に切り替えて `pull` し、元のブランチに戻って `merge` する一連の作業を自動化。
- `git-cleanup`: マージ済みのローカルブランチを一括削除するコマンド。
- `git-wip`: 今の変更を一時退避(stash)して、メッセージ付きでコミットする「思考停止用」保存コマンド。
最後に:あなただけの「道具箱」を育てよう
プロのエンジニアは、ツールに使われるのではなく、ツールを自分に合わせる人たちです。今回紹介した方法は、あなたのGitライフを劇的に楽にするだけでなく、あなたの思考スピードをそのままコマンドに変換する第一歩になります。
今日から、面倒なコマンド操作があったら「これはスクリプト化できないか?」と考えてみてください。その小さな積み重ねが、半年後、一年後のあなたを「圧倒的な速度で開発をこなすエンジニア」へと変貌させているはずです。
さあ、まずは `~/bin/git-feature` から始めてみましょう。何か困ったことがあれば、いつでもまた聞きに来てくださいね。応援しています!