Gitのcommitの粒度が難しすぎる!

1K Views

January 23, 25

スライド概要

profile-image

miyamoto naoyuki N High School Student

シェア

またはPlayer版

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

関連スライド

各ページのテキスト
1.

Gitのcommitの粒度が難しすぎる! #10 札幌開催:はじめてのIT勉強会 in 札幌 @みやもとsprzk

2.

自己紹介 宮本直幸 - Miyamoto Naoyuki N高等学校(北海道情報大学に進学予定) 開発歴2年くらい(javascript, Java) フロントエンド、バックエンド @Msprzk

3.

目次 1. きっかけ 2. commitの目的 3. 感想とまとめ

4.

1. きっかけ

5.

友達と開発しているときのこと...

6.

宮本くんさ、

7.

なんか...commit大きくない?

8.

はい......

9.

1週間後...

10.

宮本くんさ、

11.

なんか...commit小さくない?

12.

2.commitの目的

13.

Commit の目的 commitとは ↓ リポジトリへの変更を記録すること 参考: https://git-scm.com/docs/git-commit

14.

疑問: 記録するだけなら大きさを意識する必要あるの?

15.

疑問: 記録するだけなら大きさを意識する必要あるの? → commitの使い方に関係していると思う!

16.

commit の目的 - Pull Request - merge - revert etc… 作業を確定、もしくは戻すときに必要 キーワードは「過去の作業を確認する」

17.

過去に戻せるってゲームのセーブと似ているな〜

18.

過去に戻せるってゲームのセーブと似ているな〜 →どこでセーブしたらいいかを考えたらヒントが見つかるかも!

19.

commit の目的 例えば... ドラクエで 1. 2. レベル上げてボスに挑む レベル上げたあと街に戻り、セーブしてからボスに挑む ↓ もしボスに負けたとき、2の方がすぐボスと戦えてよい

20.

commit の目的 開発に落とし込むと... 3つの機能を作ったとき 1. 2. 3つの機能を同時にcommit 1つずつcommit ↓ もしどこかで不具合がおきたとき、2の方がリスクが低い(回復しやすい)

21.

commit の目的 例2 恋愛ゲーム 森先輩との好感度!1週間でどれくらい好感度上がる? 1. 2. 重要な分岐っぽい会話(「私のこと、どう思うの?」など)でセーブする すべての会話でセーブする ↓ すべての会話をセーブしたら後でロードするとき大変...

22.

commit の目的 開発に落とし込むと... ある関数を作ったとき 1. 2. 動く部分ごとにcommit 毎行commit ↓ (1でも頻度高いですが)2では、後で見るとき大変すぎる

23.

commit の目的 つまり... どこでやり直したいのかということがセーブでは大事 ≒どこでやり直したいのかということが commit では大事 commit は「どこでやり直したら悲しみ が少ないか」で考えよう

24.

(余談) コーディングは commit から考えてもいいのでは?

25.

commit から考える こんな感じで commit から考えてみたらやりやすそうじゃね...? 題して「commit駆動開発」

26.

4. まとめと感想

27.

まとめと感想 まとめ(宮本的考え) commit は「どこでやり直したら悲しみが少ないか」を 意識する! 感想 書く側ではなく、レビュワー視点から見た良い commit も気になる...!