Gitの履歴を振り返って気づいたこと

Git / GitHub投稿日: 2026-03-30

エンジニアとして評価されるGit履歴ってどんなのか気になって、AIにGit履歴について率直なフィードバックを求めてみました。


現状:良かった点

AIの分析では、コミットメッセージについては問題なしという結果。以下のメッセージが「なぜその変更をしたか書けている」と判定されました。


現状:問題点

一方で、ブランチの使い方については「使えていない」と指摘されました。

自分では DesignOpsletsLoginletsStyle など複数のブランチを作ってコミットしていたので、一応使っているつもりでした。

ブランチを使ってマージした形跡もありましたが、途中からmainに直接コミットしていたようです。

指摘された問題は2つです。

1. mainへの直接コミットが続いている

機能単位でブランチを切り、PRを作ってマージする流れができていませんでした。これはチーム開発の基本で、一人開発でも練習として使うべきとのことでした。

2. 一部のコミットメッセージが曖昧

良いメッセージと悪いメッセージが混在していました。


良いコミットメッセージの事例

※日本人のエンジニアのコミット例をあまり見つけられなかった(本当にエンジニアなのかも判断できない)ので、AIに提示してもらった。

基本構造:[何をしたか]:[なぜしたか / 何が問題だったか]

バグ修正

古いキャッシュが残り記事更新が反映されない問題を修正

revalidatePath の対象パスが /notes のみで /notes/[slug] が含まれていなかった。
詳細ページのキャッシュが更新されないため両方を対象に追加。
ログイン後に404になる問題を修正

middleware のマッチャーが /admin/* を対象外にしていたため、
認証後のリダイレクト先が保護されていなかった。パターンを /admin/:path* に変更。

機能追加

タグ絞り込み機能を追加

記事一覧でタグをクリックすると該当記事だけ表示されるようにした。
URLクエリパラメータで状態を管理し、ブラウザバックでも絞り込み状態が戻るようにした。
記事削除機能を管理画面に追加

一覧画面ではなく編集画面に配置。IDが取得できる状態(既存記事の編集時)のみ表示する。
誤操作防止のため確認ダイアログを挟んでいる。

リファクタリング

認証チェックをmiddlewareに集約

各管理ページで個別に行っていたセッション確認を middleware.ts に移動。
重複コードの削除と、認証漏れが起きにくい構造への変更が目的。

UI・スタイル

モバイル表示でナビゲーションが崩れる問題を修正

flex-wrap が設定されておらず、画面幅640px以下でメニューが溢れていた。
sm:flex-wrap-wrap を追加し、実機(iPhone SE)で確認済み。

設定・環境

ビルド時の prisma generate エラーを修正

Vercelデプロイ時に型定義が生成されずビルドが失敗していた。
package.json の build スクリプトに prisma generate を追加して対処。

まとめ

観点現状これから
コミットメッセージ理由を書く習慣はあるが一部曖昧変更理由を必ず書く
ブランチ途中からmainに直接コミットfeature/xxx → PR → マージ

Git履歴は、コードと同じくらい「自分がどう考えて開発したか」を示すものなので、もう少し真剣に使い方を調べたり、他のエンジニアの事例を調べておけばよかったです。

…恥ずかしながら、定着化するまでAIにコーチングしてもらうことにしました。 AIのGitコーチング

Gitの履歴を振り返って気づいたこと | 人間学習ノート