【GitとGitHub】branchの基本とissuesと紐付けた命名 issuesの書き方も
branchとは
branchは並行して複数機能を開発するためにあるのがbranchです。
追加する機能ごとにbranchを作成します。
そうすることで、branchごとにワークツリーからリモートリポジトリを個別に管理することができます。
それの何が嬉しいかというと、同時に変更を加える中で他の変更の影響を受けないということです。
branchのチーム開発での利用
チーム開発をしていく上でbranchが有効であることをお話ししました。
さらにbranchの名前に対して決まった役割を定めておくことで
よりスムーズに開発を進めていくことができます。
以下に名前と役割を記載します。
- master 公開するものを置く
- develop 開発中のものを置く
- relese 次にリリースするものを置く
- feature/* 新機能開発中に使う
- hotfix/* 公開中のもののバグ修正用に使う
例えば、公開中のサービスがあったとして
そのファイルはmasterに置かれています。
その状態から、
「バージョンアップさせよう!」
次のバージョンでは
「機能Aと機能Bを追加しよう」
となったとします。
そのとき開発のためのbranch作成の流れとしては
masterからdevelopを派生させます。
そしてdevelopから機能Aと機能Bを作成するための
ブランチをそれぞれfeature/#12functionA、feature/#13functionB
といったふうに作成します。(#番号については後ほど解説)
ブランチの作成から削除までのライフサイクル
上記に引き続き、機能Aを追加したいという状況になったとします。
そのときの機能Aが追加されるまでの流れを記載します。
- GitHub上でissueを作成
- 自分のローカル環境でbranchの作成
- リモートbranchの作成
- 開発
- featureブランチ(今開発にしようしているブランチ)に push
- pull request
- develop にmerge
- ローカルのfeatureブランチの削除
- リモートのfeatureブランチの削除
それぞれの実行方法
- 別記事URL
- git checkout -b ブランチ名
- git push origin ブランチ名
- 開発
- git push origin ブランチ名
- 別記事url
- GitHub上のpull requestから「Merge pull request」
- 別のブランチからgit branch -d ブランチ名
- git push --delete origin ブランチ名
branch関連の基本コマンド
ここではbranchの作成などの基本的なコマンドを列挙していきたいと思います。
- git branch -a 今作成されているbranchが表示されます。-aがあることで追跡ブランチも表示されます。
- git branch ブランチ名 新しいbranchが作成されます。
- git checkout ブランチ名 branchの切り替え
- git checkout -b ブランチ名 新しいbranchの作成と切り替えを一度にできる。
- git branch -d ブランチ名 ブランチの削除
- git push -u リモート名 ブランチ名 ローカルの環境にリモートを合わせる。git branch -dでブランチを削除した後にpushするとリモートブランチと追跡ブランチの両方も削除できる。
- git fech 一個上の逆でリモートの環境にローカルを合わせることができる。