チーム開発の流れ

最終更新: 2022年01月13日

基本的な流れ

  1. GitHubなどにリポジトリを作成します。
  2. ローカルのGitとリポジトリを接続します。(あるいは既存リポジトリのデータをCloneします)
  3. masterから作業ブランチを作成します
  4. 作業し、コミットします
  5. リモートにPushします
  6. masterに対してプルリクエストを出します
  7. FBがあった場合、対応して再度Pushします。

プルリクエストのポイント

サンプル

  • 何をやったのか明確に記載してください
  • 作業範囲のスクリーンショットが添付してください
  • issueの番号を記載してください(#1)
  • fix #14 のようにissue番号を記載しておくと、マージされた時点で該当Issueを自動でクローズしてくれます

GitHub Flow

masterから作業ブランチを作成し、終わったらmasterにマージリスクエストをだすもっともシンプルなブランチ管理手法です。

下の動画では触れていませんが、origin/masterからブランチを作成する前に**git fetch(prune)**コマンドを叩きましょう。そうすることで古いmasterを最新にすることができます。

ポイント

各作業ブランチは必ずmasterから作成します。ブランチは通常現在のブランチを元に作られます。(作成時に元となるブランチを指定する方法もありますが)たとえばAの作業を行ったブランチにいる状態でブランチBを作成すると、Aの作業を含んだブランチBが誕生します。Aにバグが潜んでいた場合、バグがブランチBにも引き継がれます。また、その状態でブランチBのマージリクエストを出すとコードの差分にAの作業も含まれるため、レビューにも支障をきたします。常にmasterから新しいブランチを作成してください。

コマンドラインで操作する場合

Clone以降はVisual Studio CodeでGit管理することをオススメします。コマンドラインの操作を知りたい人は下記参照してください。

既存のGitプロジェクトを自分のPCに複製する(GitHubなどから)

ターミナル
git clone http://.....

ブランチを作成する(new-branchという名前のブランチを作成する例)

ターミナル
git branch new-branch

ブランチを切り替える

ターミナル
git checkout new-branch

作業内容をコミットする(コミットメッセージのつけかた

ターミナル
git add . git commit -m '<コミットメッセージ>'

作業内容をPushする

ターミナル
git push

リモートの作業を取り込む

ターミナル
git pull

ゼロからGit管理をはじめる場合

プロジェクトディレクトリで以下のコマンドを叩きます。Angular CLIなどで機械的に生成されたプロジェクトは既にgitの初期化が終わっているので不要です。

ターミナル
git init git add . git remote add origin <リポジトリURL> git push

Tips

直前のコミットを取り消したい

VS CodeのコマンドパレットからUndoを行うとコミットする前の状態に戻ります。

過去の特定のコミットを取り消したい

正確には無かったことにするのではなく、作業を打ち消すようなコミットを行います。ログとしては打ち消した。と言うログが追加されます。

ターミナル
git log // 作業ログの確認(取り消したいコミットのコミットIDをコピーする) git revert <コミットID> // コミットメッセージを聞かれるので適宜編集して保存

直前のコミットに現状の作業を追加したい

ターミナル
git commit -a --amend // コミットメッセージを聞かれるので適宜編集して保存

現在の作業内容を確認したい

ターミナル
git diff

現在の編集されているファイル群を確認したい

ターミナル
git status

コミット間の差分をzipでまとめたい

クライアントに作業内容を提出する際に便利です。

ターミナル
git archive master --format=zip -o diff.zip --prefix=data/ `git diff --name-only --diff-filter=d コミットA コミットB`

メインブランチの変更

現在GitHubにおいてメインブランチがmasterからmainに変更しています。ローカルでGitを初期化した際にデフォルトブランチをmainにするために以下のコマンドを叩きましょう。

ターミナル
git config --global init.defaultBranch main

レビュー対応

対応&再Pushあるのみです。