フルスタックエンジニアが教える、Gitの意外と知られていない便利機能

こんばんは!IT業界で働くアライグマです!

Gitはソフトウェア開発において欠かせないバージョン管理システムです。多くのエンジニアが日々使用していますが、基本的な git addgit commitgit push 以外にも、便利な機能が数多く存在します。

本記事では、フルスタックエンジニアの視点から 意外と知られていないGitの便利機能 を紹介します。これらの機能を活用することで、開発効率を向上させ、よりスムーズなワークフローを実現できます。

Gitの便利機能

Gitの履歴を見やすくする

git log --oneline --graph --decorate で履歴を可視化

Gitの履歴を確認する際に git log を使うことが多いですが、そのままでは情報が多すぎて見づらいです。

git log --oneline --graph --decorate

このコマンドを使うと、以下のように 簡潔で視覚的に分かりやすい履歴表示 になります。

  • --oneline:1行で簡潔に表示

  • --graph:ブランチの関係をグラフ表示

  • --decorate:ブランチ名やタグを表示

複数人で開発しているプロジェクトでは、これを活用することで履歴を素早く把握できます。

git blame で誰がどの変更を加えたか確認

コードの特定の行が 「いつ」「誰によって」「なぜ」 変更されたのかを知りたい場面は多いです。その場合、git blame を使うと便利です。

git blame ファイル名

このコマンドを実行すると、各行ごとにコミットIDや作成者が表示されます。バグ修正や仕様変更の履歴を追いやすくなる ため、チーム開発において特に有効です。

変更の取り消しと修正

git checkout -- ファイル名 で変更を元に戻す

「間違ってファイルを編集してしまった!」という経験はありませんか? そんなときは、以下のコマンドで簡単に変更を取り消せます。

git checkout -- ファイル名

これを実行すると、そのファイルの変更が 最後にコミットした状態に戻ります。ただし、未コミットの変更は消えてしまうので注意してください。

git commit --amend で直前のコミットを修正

「コミットメッセージを間違えた」「小さな修正を追加したい」場合には、--amend オプションを使うと便利です。

git commit --amend

これにより、直前のコミットを上書きできます。特に、誤ったメッセージを修正するときに役立ちます。ただし、すでにプッシュしたコミットを修正すると、履歴が変わるため注意が必要 です。

作業の一時保存

git stash で一時的に変更を退避

作業中に急な仕様変更やブランチの切り替えが必要になることがあります。その際、git stash を使うと、現在の変更を一時的に保存できます。

git stash

これにより、作業中の変更をコミットせずに退避 できます。後で作業を再開する場合は、以下のコマンドを実行します。

git stash pop

また、複数の変更をスタックできるため、複数の作業を並行して行う際にも便利です。

よく使うコマンドをエイリアス化

git config --global alias.エイリアス名 'コマンド' で短縮コマンドを作成

頻繁に使う長いコマンドを短縮したい場合、Gitのエイリアス機能を活用できます。

git config --global alias.lg "log --oneline --graph --decorate --all"

これにより、今後 git lg を実行するだけで git log --oneline --graph --decorate --all と同じ結果が得られます。

エイリアスを活用すると、ターミナルでの操作がスムーズになり、作業効率が向上 します。

プルリクエスト前にコードをきれいにする

git rebase -i でコミット履歴を整理

複数の小さなコミットを1つにまとめたい場合や、履歴を整理したいときには、git rebase -i を使います。

git rebase -i HEAD~3

これを実行すると、直近3つのコミットが編集可能な状態で表示されます。不要なコミットを squash することで、履歴をきれいに保ち、チームメンバーが理解しやすい状態 にできます。

まとめ

Gitには基本的な操作だけでなく、開発効率を向上させる多くの便利機能があります。本記事で紹介した機能を活用することで、作業スピードを向上させ、チーム開発をスムーズに進めることができます。

特に以下のポイントは、日常的に使うことで大きな効果を発揮します。

  • git log --oneline --graph --decorate で履歴を分かりやすく可視化

  • git commit --amend で直前のコミットを修正

  • git stash で作業を一時退避し、柔軟に対応

  • git rebase -i で履歴を整理し、チーム開発を円滑に

これらの機能をマスターすることで、Gitの操作がより快適になり、プロジェクトの管理が容易になります。ぜひ試してみてください!