チーム開発でのコード管理

Get Started. It's Free
or sign up with your email address
チーム開発でのコード管理 by Mind Map: チーム開発でのコード管理

1. コード管理

1.1. Git

1.1.1. 概要

1.1.1.1. 分散型バージョン管理システム

1.1.1.1.1. 過去のコードの状態を管理できる

1.1.1.2. ツール

1.1.1.2.1. CUI

1.1.1.2.2. GUI

1.1.1.3. Git コマンド

1.1.1.3.1. データ領域間のファイルの操作

1.1.1.4. ブランチ

1.1.1.4.1. 履歴の流れを分岐して記録するもの

1.1.1.4.2. HEAD

1.1.1.4.3. ブランチの種類

1.1.1.4.4. 切り方

1.1.1.5. リポジトリ

1.1.1.5.1. 変更履歴を記録する場所

1.1.1.5.2. リモートリポジトリ

1.1.1.5.3. ローカルリポジトリ

1.1.2. コマンド

1.1.2.1. 基本的なコマンド

1.1.2.1.1. 話すやつ

1.1.2.1.2. 話さないやつ

1.1.2.2. origin

1.1.2.2.1. git push origin xxx の origin

1.1.3. 設定

1.1.3.1. Rails Tutorial でやっているからやんなくて良い?

1.1.3.1.1. .gitconfig

1.1.3.1.2. .gitignore

1.1.3.1.3. エイリアス

1.2. GitHub

1.2.1. 概要

1.2.1.1. ソースコードをホスティングする

1.2.1.1.1. ホスティング: プロバイダや通信事業者が保有するサーバを、ネットワーク経由で顧客に貸し出すサービス

1.2.1.1.2. ローカルのバックアップ

1.2.1.1.3. オンライン上で確認できる

1.2.1.1.4. チーム開発できる

1.2.1.2. ブランチ

1.2.1.2.1. ローカル

1.2.1.2.2. リモート

1.2.1.3. リモートリポジトリ

1.2.1.3.1. git remote add

1.2.1.4. 同じようなサービス

1.2.1.4.1. GitLab

1.2.1.4.2. GitBucket

1.2.2. 設定

1.2.2.1. Rails Tutorial でやってるっぽい

1.2.2.1.1. git config --global

1.2.3. 便利

1.2.3.1. Blame

1.2.3.1.1. 変更したか確認できる

2. チーム開発

2.1. ブランチモデル

2.1.1. Git Flow

2.1.1.1. 概要

2.1.1.1.1. A successfull Git branching model

2.1.1.1.2. メリット

2.1.1.1.3. デメリット

2.1.1.2. ブランチ

2.1.1.2.1. メインブランチ

2.1.1.2.2. サポートブランチ

2.1.2. GitHub Flow

2.1.2.1. 概要

2.1.2.1.1. メリット

2.1.2.1.2. デメリット

2.1.2.2. ブランチ

2.1.2.2.1. master

2.1.2.2.2. new-xxx

2.1.3. その他

2.1.3.1. GitLab Flow

2.1.3.2. GitFeature Flow

2.1.4. 必要な理由

2.1.4.1. チームでの開発を効率良く行う

2.1.4.2. マージのミスなどを減らす

2.1.5. 資料

2.1.5.1. ブランチを効率的に活用するためのgit-flow、GitHub Flow入門

2.1.5.2. Gitはうまく使えてる?Gitのブランチモデルについて学ぼう

2.1.5.3. Git-flow ~Gitのブランチモデルを知る~

2.1.5.3.1. 課題参考になりそう

2.2. 実際の開発の流れ

2.2.1. thira

2.2.1.1. ブランチ運用

2.2.1.1.1. master

2.2.1.1.2. develop

2.2.1.1.3. feature/no000

2.2.1.1.4. その他(こんなのあるよくらいの説明)

2.2.1.2. 基本的な開発フロー

2.2.1.2.1. エンジニア

2.2.1.2.2. ディレクター

2.2.1.3. 緊急のエラー対応

2.2.1.3.1. すぐに直せなさそうだったら revert する

2.2.1.3.2. 詰まったら焦らず相談する

2.2.1.3.3. 対応したら Kibela にまとめる

2.2.1.4. 気をつけること

2.2.1.4.1. develop とか master には直接 push しない

2.2.2. その他

2.2.2.1. mitsukaru_hoken

2.2.2.2. chai

2.2.2.3. 制作案件

3. ゴール

3.1. Git の基本的なコマンドを使えるようになる

3.1.1. GitHub にアップロードまで

3.2. Git Flow, GitHub Flow についてざっくり理解する

3.3. 実際どんな感じで開発しているか理解する

4. 研修

4.1. 資料

4.1.1. 研修案

4.1.2. コードのチーム管理の話 アジェンダ

4.1.3. 発表スライド

4.2. 1時間

4.2.1. 座学(45分)

4.2.1.1. 星つけたところを話す

4.2.1.2. 文字少なめ図多めの方がわかりやすいかも

4.2.1.2.1. 図作るの時間かかりそう

4.2.1.3. 長いと飽きるので短めにする

4.2.2. 実践(15分)

4.2.2.1. 研修課題の説明

4.2.2.2. 研修課題

4.2.2.2.1. 用意する

4.2.3. 手動かしてもらうところもあったほうが良い?

4.3. 座学(プレゼン)

4.3.1. 目次(30秒)

4.3.1.1. ゴール

4.3.1.2. Git を用いたコード管理

4.3.1.3. チーム開発

4.3.1.3.1. 開発フロー

4.3.1.3.2. thira を例とした実際に開発フロー

4.3.1.4. まとめ

4.3.1.5. 参考資料

4.3.1.6. 何分くらいか測る

4.3.2. ゴール(30秒)

4.3.2.1. Git の基本的なコマンドを使えるようになる

4.3.2.2. Git Flow, GitHub Flow についてざっくり理解する

4.3.2.3. 実際どんな感じで開発しているか理解する

4.3.3. Git を用いたコード管理(7分)

4.3.3.1. Git(30秒)

4.3.3.1.1. 分散型バージョン管理システム

4.3.3.1.2. $ git log --oneline --decorate --graph --branches --tags --remote

4.3.3.2. GitHub(30秒)

4.3.3.2.1. ソースコードをホスティング

4.3.3.3. ローカルリポジトリとリモートリポジトリ(30秒)

4.3.3.4. Git の3つの状態(4分)

4.3.3.4.1. ワークツリー

4.3.3.4.2. ステージングエリア

4.3.3.4.3. リポジトリ

4.3.3.5. 予備(1分30秒)

4.3.4. チーム開発(15分)

4.3.4.1. ブランチモデル(5分)

4.3.4.1.1. 概要

4.3.4.1.2. ブランチに役割を振る

4.3.4.1.3. 一覧(30秒)

4.3.4.1.4. まとめ

4.3.4.2. thira を例とした実際の開発フロー(10分)

4.3.4.2.1. thira の説明(30秒)

4.3.4.2.2. ブランチモデル

4.3.4.2.3. 開発フロー

4.3.5. まとめ(1分)

4.3.5.1. コード管理について(30秒)

4.3.5.1.1. Git を使うことであらゆる履歴を残せる

4.3.5.2. チーム開発(30秒)

4.3.5.2.1. GitHub にソースコードをホスティングすることでチームで開発しやすくなる

4.3.6. 参考資料(30秒)

4.3.6.1. Udemy

4.3.6.1.1. Git:はじめてのGitとGitHub

4.3.6.2. 手動かす系

4.3.6.2.1. おすすめ

4.3.6.2.2. 微妙

4.3.6.2.3. ?

4.3.6.3. ドキュメント・資料

4.3.6.3.1. おすすめ

4.3.6.3.2. ?

4.3.7. おまけ(説明しない)

4.3.7.1. Git クライアント

4.3.7.2. おすすめ

4.3.7.2.1. gitmoji

4.3.7.2.2. エイリアスの設定

4.3.7.3. develop ブランチの変更の取り込み

4.3.7.4. リリース後のエラー対応

4.3.7.5. 紹介していない Git コマンド

5. ターゲット

5.1. 新卒

5.1.1. まだあまりわかっていない人にも理解できるような内容にする

5.1.2. わかっている人は復習できるような構成にする

5.1.2.1. 退屈しないように

5.1.3. kibela みた感じ、Rails Tutorial で基本的なところは触っているっぽいのでそんなに説明いらない?

5.1.4. レベル感がわからない

5.1.4.1. 基本的なところは全員わかっているっぽい

5.1.4.1.1. 話したほうが良さそうな内容

5.1.4.2. めちゃくちゃ詳しい人もいるっぽい