311 Views
December 04, 24
スライド概要
本プレゼンテーションでは、質の高いGit履歴の作り方について詳しく解説しています。キレイなコミットとは、単一の目的を持ち、分かりやすいメッセージで変更内容を明確にしたものです。悪いコミットの問題や、それが将来の保守性に与える影響を説明し、具体的なコミットメッセージの書き方やコミットの粒度についても触れています。また、コミット履歴の整理方法として、rebaseやsquashを用いることで一貫性を持たせる方法を説明しています。
WEB システムを作っています。
キレイなコミットで プロジェクトを支える ~質の高い Git 履歴の作り方~ Tomohiro K 1
自己紹介 Tomohiro K バケツをひっくり返したような 雨が降ると自宅の部屋が 雨漏りするようになりました 2
今日いいたいこと 開発者たるもの キレイな Git コミットを残せるようになろう 3
目次 1. 2. 3. キレイなコミットとは ○ コミットの粒度 ○ コミットメッセージに含めるべき情報 悪いコミットの問題 ○ 悪いコミットとは ○ 将来の保守性への影響 キレイなコミットの残し方 ○ キレイなコミットメッセージの書き方 ○ コミット分割のタイミング ○ コミット履歴の整理方法 4
キレイなコミットとは 単一の目的を持ち、分かりやすいメッセージで変更内容を明確にしたもの 悪い例 README 更新 良い例 docs: #123 READMEにインストール手順を追加 5
コミットの粒度 小さな独立した変更ごとに行い、 1つの目的に集中できる単位 悪い例 いくつかの対応を実施 良い例 fix: #123 メインページのボタン位置を修正 feat: #123 ログイン機能を追加 一つのコミットで「 UIの修正」 「新機能追加」「バグ修正」を行う fix: #123 ログインで発生するワーニングエラーを 修正 6
コミットメッセージに含めるべき情報 何を、なぜ変更したかを具体的かつ簡潔に記述する 悪い例 不具合を修正 良い例 fix: #123 チェックアウト時の価格計算が誤る 問題を修正 7
悪いコミットとは 曖昧なメッセージや複数の変更が含まれたコミット 例 影響 バグ修正と更新 デバッグ時に「どのバグが修正されたか」が 不明瞭で、変更箇所を特定するのが困難 8
将来の保守性への影響 分かりやすい履歴はトラブルシューティングや新規開発を効率化してくれる 悪い例 良い例 数年前のコミットメッセージが 更新、修正などの曖昧な表現ばかり 各コミットに具体的な変更内容が 記載されている 何が行われたか分からない 履歴を確認してデバッグや機能追加が 容易に行える 9
キレイなコミットメッセージの書き方 プレフィックスを使い、 50文字以内で要点を伝える 例 解説 feat: #123 ホームページに検索バーを追加 プレフィックス ( fix: 修正、feat: 機能追加、等 ) fix: #123 商品説明の誤字を修正 ( Backlog 課題キーや Redmine チケット番号 ) 対応内容 Conventional Commits Git - プロジェクトへの貢献 10
コミット分割のタイミング 機能追加やバグ修正など、目的ごとにコミットを分ける 悪い例 feat: #123 ユーザー認証まわりを追加と修正 新しいAPIの実装と、既存機能の バグ修正を一度にコミット 良い例 feat: #123 新しいAPIを使った ユーザー認証機能を実装 fix: #123 認証後のリダイレクトが 正しく動作しない問題を修正 11
コミット履歴の整理方法 不要な履歴は rebase や squash で整理して一貫性を持たせる 悪い例 fix: #123 ログインページのボタン位置修正 良い例 fix: #123 ログインページのボタン配置誤り修正 fix: #123 さっきのコミット漏れ追加 fix: #123 ログインページのボタン位置微調整 rebase や squash を使い 関連するコミットを 1つにまとめる Git - 歴史の書き換え 12
ご清聴 ありがとうございました 13