Skip to content

necomesi/git-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

ネコメシの Git 運用方針について

コミットメッセージの書き方

良いコミットメッセージとは?

  • コミットログが見やすいこと
  • チーム開発の理解の助けになること
    • なぜそのようなコードを書いているかわかること
  • レビューがしやすいこと
  • コミットメッセージは個人の作業ログではなく、製品の変更履歴であるべき

フォーマット

[Prefix]: [Subject]

[Body]

[Issue ID]

Prefix

プレフィックスの種別についてはAngularJSの開発ルールを参照

種別 用途
feat 機能開発
fix バグ修正
docs ドキュメントの変更。README など
style 機能に影響のないコードの整形(スペース、インデント、セミコロン等
refactor 機能の変更のないコードの修正
perf パフォーマンスを改善するコードの修正
test テストコード関連
chore 製品に関係のないビルドタスクやジェネレートツール関連

Subject

何を変更したのかを短い文章に。 変更内容を端的に表せると Good

  • feat: TOP ページ作成
  • fix: コンテキストメニューの表示座標のズレを修正
  • chore: 画像の圧縮タスクを追加

Body

なぜ変更したのかを文章に。

  • 変更が必要だった理由
  • どうしてそのように変更したのか(修正方針
  • どのように(コードの実装や動作)は重要ではない
  • タイトルで完結してしまったら書かなくて良い

⭕️GOOD

fix: コンテキストメニューの表示座標のズレを修正

表示する親要素に包含ブロックを指定していなかったため、モーダル内ではズレが発生したので、テーブルコンポーネントを包含ブロックに修正

❌BAD

fix: コンテキストメニューの表示座標のズレを修正

position: relative;を指定

Issue

関連する Issue ID があれば記載

fix: コンテキストメニューの表示座標のズレを修正

表示する親要素に包含ブロックを指定していなかったため、モーダル内ではズレが発生したので、テーブルコンポーネントを包含ブロックに修正

Issue #48

Pull Request の書き方

レビューしづらい Pull Request とは

  • 目的が不明
    • 何をレビューして良いのかわからない
  • 差分が大きい
    • 単純に見るのが大変
  • 複数の目的の変更が入っている
    • 確認が大変なのと、指摘が広い反映に及ぶと閉じるのが遅くなる
  • ケアレスミスの指摘が多い
    • プルリクエスト本来のビューまでたどり着くのが困難

レビューしづらいことで

  • レビューの精度が下がる
  • プルリクエストを閉じるのが遅くなり、機能実装が完了しない
  • 他の変更が取り込まれてコンフリクトの解消に追われる
  • そのプルリクエスト起点の機能開発ができなる
  • レビュワーの開発時間が失われる

などのデメリットが発生し、開発工程の遅れ・クオリティの低下などに繋がる

レビューしやすい Pull Request とは

レビュワーのことを思い、レビューしやすい丁寧なプルリクエストを作成することを心がける

  • 小さくプルリクする
  • 早くプルリクする
  • レビュワーと共通認識が形成できていること
  • コンフリクトはプルリクを出している人が直す

不確実性・難易度の高いタスクほど小さく早くトライ&エラーとフィードバックで解消していくこと

プルリクエスト駆動開発

まず、プルリクエストを作成してから作業を開始すること。

本リポジトリの .github/pull_request_template.md を利用して、自動でプルリクエスト本文のテンプレートを作成することをおすすめする。

Work In Progress(WIP) のプルリクエストを作成し、

  • タイトル
  • チケット番号
  • 「やったこと」にやる予定の作業
  • 「やらないこと」にプルリクエストの責務ではない作業

を入力する。

そのため、プルリクエストの目的や作業内容を明確にしてから作業を行える!

開発時に想定していない改修が発生した場合はプルリクエストを分割することを考慮すること。

ex) ビルドタスクの改修や別 JS class に手を入れる時

空のコミットの作り方

git commit --allow-empty -m "Initial commit"

About

Gitの運用方法のドキュメントやテンプレートを管理していくリポジトリ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors