Githubサービスについて
@akuraru 2022-01-17
ターゲット
● Gitは知っている
● Githubは知らない
● 最近、システムエンジニアになろうとしている
概要
1. 前提
2. Githubについて
3. リモートリポジトリである
4. Pull Request管理サービスである
5. Issue管理サービスである
6. Projects管理サービスである
7. Wikiである
8. まとめ
1. 前提
● 1日数回リリースできる状態を保つ
● 機能を高速にリリースできる状態まで持っていきたい
● 抜け漏れを減らす
2. Githubとは
● 主にリモートリポジトリ
● めっちゃいっぱい機能がある
● 外部サービスとの連携も充実
● 余白に書くには多すぎる
2. Githubとは
● ここで話す弊社で使っている代表的な機能
○ リモートリポジトリ
○ Pull Request管理
○ Issue管理
○ Project管理
○ Wiki
● 話さないこと
○ それぞれの細かい機能
○ CI連携(Bitrise, Github Actions)
○ Team管理
代表的な機能
● Gitのリモートリポジトリである
● 詳しくは「Git リモートリポジトリ」でググってください
● 運用する上で大事なことはmasterブランチがリリース可能な状態を保ようにする
3. リモートリポジトリである
4. Pull Request管理サービスである
Pull Request(プルリクエスト)とは
● 作成した変更をメインのブランチに取り込んでもらうようにお願いすること
● PR(ピーアール)と略すことが多い
● やっていることはマージリクエストだが、歴史的経緯によりプルリクエストと呼ばれて
いる
4. Pull Request管理サービスである
なぜするのか
● 他の誰かが正しいことを確認して承認(Approve)してもらってから、masterブランチ
に取り込む
● 承認してもらう工程を挟むことによってリモートリポジトリのmasterブランチがリリー
ス可能な状態を維持する
● 複数人で同じシステムを変更しているので、お互いに壊していないことを確認しな
がら開発を行う上で管理することは大事
● できていないことを管理する機能
● 例
○ 新しい機能を作りたい
○ バグがある
○ お問い合わせがあった
○ この画面が出てくるのが遅い
5. Issue管理サービスである
Issue(イシュー)とは
● 忘れるため
○ 数百個のことを覚えていることは無理なため
○ 一旦忘れて、重要なことに集中するため
● 問題を共有して最適な解決法を考えるため
○ 3人集まれば文殊の知恵
● なんか変だと思ったら、issueにしましょう
○ 間違ってても誰かが説明してくれたり、対処してくれます
5. Issue管理サービスである
なぜするのか
● issueをまとめて管理ための機能
● 大きな機能は小さな機能の集合体であることが多いので分割して作る
6. Project管理サービスである
Project(プロジェクト)とは
6. Project管理サービスである
● 複数人で進捗を管理するため
○ 同じ作業をしないようにする
○ 進捗を明らかにして、どこまでやったかわからないをなくす
● 1週間以上時間がかかる機能を作る時に使う
● やることとやらないことを決めることが大事
なぜするのか
● 実際の画面を見てほしい
● よくある分け方としてはTodo、Doing、Done
○ Todo: 必要な作業のissueをここに入れて
○ Doing: 作っている途中のものをここに移動して自分を assignする
○ Done: PRをマージしてissueを閉じたらここに移動させる
6. Project管理サービスである
どうやって使うか
● ドキュメントを管理するためのサービス
● 聞いたもの聞かれたものを何でも書く
7. Wikiである
● 主にgitのリモートリポジトリである
● いろいろ触って試してみましょう
8. まとめ

Githubサービスについて