チーム開発の流れ
最終更新: 2022年01月13日
基本的な流れ
- GitHubなどにリポジトリを作成します。
- ローカルのGitとリポジトリを接続します。(あるいは既存リポジトリのデータをCloneします)
- masterから作業ブランチを作成します
- 作業し、コミットします
- リモートにPushします
- masterに対してプルリクエストを出します
- 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あるのみです。