キレイなコミットでプロジェクトを支える~質の高いGit履歴の作り方~

311 Views

December 04, 24

スライド概要

本プレゼンテーションでは、質の高いGit履歴の作り方について詳しく解説しています。キレイなコミットとは、単一の目的を持ち、分かりやすいメッセージで変更内容を明確にしたものです。悪いコミットの問題や、それが将来の保守性に与える影響を説明し、具体的なコミットメッセージの書き方やコミットの粒度についても触れています。また、コミット履歴の整理方法として、rebaseやsquashを用いることで一貫性を持たせる方法を説明しています。

profile-image

WEB システムを作っています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

キレイなコミットで プロジェクトを支える ~質の高い Git 履歴の作り方~ Tomohiro K 1

2.

自己紹介 Tomohiro K バケツをひっくり返したような 雨が降ると自宅の部屋が 雨漏りするようになりました 2

3.

今日いいたいこと 開発者たるもの キレイな Git コミットを残せるようになろう 3

4.

目次 1. 2. 3. キレイなコミットとは ○ コミットの粒度 ○ コミットメッセージに含めるべき情報 悪いコミットの問題 ○ 悪いコミットとは ○ 将来の保守性への影響 キレイなコミットの残し方 ○ キレイなコミットメッセージの書き方 ○ コミット分割のタイミング ○ コミット履歴の整理方法 4

5.

キレイなコミットとは 単一の目的を持ち、分かりやすいメッセージで変更内容を明確にしたもの 悪い例 README 更新 良い例 docs: #123 READMEにインストール手順を追加 5

6.

コミットの粒度 小さな独立した変更ごとに行い、 1つの目的に集中できる単位 悪い例 いくつかの対応を実施 良い例 fix: #123 メインページのボタン位置を修正 feat: #123 ログイン機能を追加 一つのコミットで「 UIの修正」 「新機能追加」「バグ修正」を行う fix: #123 ログインで発生するワーニングエラーを 修正 6

7.

コミットメッセージに含めるべき情報 何を、なぜ変更したかを具体的かつ簡潔に記述する 悪い例 不具合を修正 良い例 fix: #123 チェックアウト時の価格計算が誤る 問題を修正 7

8.

悪いコミットとは 曖昧なメッセージや複数の変更が含まれたコミット 例 影響 バグ修正と更新 デバッグ時に「どのバグが修正されたか」が 不明瞭で、変更箇所を特定するのが困難 8

9.

将来の保守性への影響 分かりやすい履歴はトラブルシューティングや新規開発を効率化してくれる 悪い例 良い例 数年前のコミットメッセージが 更新、修正などの曖昧な表現ばかり 各コミットに具体的な変更内容が 記載されている 何が行われたか分からない 履歴を確認してデバッグや機能追加が 容易に行える 9

10.

キレイなコミットメッセージの書き方 プレフィックスを使い、 50文字以内で要点を伝える 例 解説 feat: #123 ホームページに検索バーを追加 プレフィックス ( fix: 修正、feat: 機能追加、等 ) fix: #123 商品説明の誤字を修正 ( Backlog 課題キーや Redmine チケット番号 ) 対応内容 Conventional Commits Git - プロジェクトへの貢献 10

11.

コミット分割のタイミング 機能追加やバグ修正など、目的ごとにコミットを分ける 悪い例 feat: #123 ユーザー認証まわりを追加と修正 新しいAPIの実装と、既存機能の バグ修正を一度にコミット 良い例 feat: #123 新しいAPIを使った ユーザー認証機能を実装 fix: #123 認証後のリダイレクトが 正しく動作しない問題を修正 11

12.

コミット履歴の整理方法 不要な履歴は rebase や squash で整理して一貫性を持たせる 悪い例 fix: #123 ログインページのボタン位置修正 良い例 fix: #123 ログインページのボタン配置誤り修正 fix: #123 さっきのコミット漏れ追加 fix: #123 ログインページのボタン位置微調整 rebase や squash を使い 関連するコミットを 1つにまとめる Git - 歴史の書き換え 12

13.

ご清聴 ありがとうございました 13