共同開発等で使うBranchについて
Branch(ブランチ)とは?
branchとは端的に説明をすると、「枝」である。
もう少し詳しく説明をすると、「1つのプロジェクトから枝を分岐させる事によってメインのプロジェクトにダメージを与えないで開発を行える機能」という事。
通常の開発との違いは?
通常の開発では以下のように「master」というBranchに差分をコミットしていた。
https://gyazo.com/49d720aaac98952a6cbd14aca2533e23
しかし、Branchを活用すると以下のように変化する(名称などの解説は後述する)
https://gyazo.com/8780fae1af349ef9ad2e3731c9284f8d
branchを利用するうえで知っておいた方が良い単語
branchブランチ
メインとは別の枝(仮想環境)を作る
checkoutチェックアウト
branchを切る→別のbranch(仮想環境)へ移動をする
mergeマージ
あるbranchの変更をあるbranchへ反映させること
→2つのbranchを1つに統合すること
conflictコンフリクト
同じソースコードを変更してしまった事により、マージ時にどちらを優先すればいいのか分からなくなる状態。
この場合は手動でソースコードを見て、優先すべき変更箇所を判断する必要アリ
→これを回避する方法
使うファイルを分ければ被害が起こる可能性が減る
具体的には
シーンごとで管理する
スクリプトには注意を払うなど
branchを切る主な理由
それに基づいて共同開発を円滑に進めるにはGitHubを上手に使いたい
また業務が終了するまでの流れが1本だと色々とリリースをする際に不都合が起こる可能性が高くなる。
branchのメリット
開発単位を「branchという単位、幅」で区切る事が出来る。
→どこまで実装が出来ているのかを組織開発で可視化できる!
使用するフォルダ、シーンを分別することが出来る。
→違うブランチで開発を進めるので、同じフォルダを同時期に編集してメインの環境が壊れるという事がなくなる!
今回説明するGitブランチ構造(どういうルールでbranchを切っていくか)は2種類ある。
※詳しくは上もしくは下のサイトを参考
とりあえず簡単に説明すると、gitflowは「Develop画面」があり、githubflowはそれがないみたいな認識でok
ここまでの内容をだいたい理解出来たら次はこっちで実践