前回のSourceTreeを使ってコミットとプッシュではmasterを使用しましたが、今後は開発用のブランチを作ってそちらで作業を進めます。
ブランチとはmasterとは別の世界線で、平行して作業を進める事ができる機能です。
別で変更履歴を管理する事でmasterはリリースしている状態のデータ、別のブランチで開発中のデータというように作業を分ける事で、他のデータに影響をされる事も影響を与える事もなく安全に作業が行えます。
SourceTreeでブランチを切る方法
別のブランチを作る事をブランチを切ると言います。
SourceTreeを使ってmasterとは別の開発用のブランチを切り、その開発用のブランチで作業を行い、masterは本番と同じ状態を保っておきましょう。
SourceTreeを開き、『ブランチ』をクリックします。
すると以下の画面が開きます。
新しいブランチの名前を入力し、『新規ブランチを制作してチェックアウト』にチェックを付け、ブランチを制作をクリックします。
ブランチの名前は開発(Development)からdevという名前にしています。
制作が完了するとこのようにmasterの上にdevが追加されます。
丸ポチがついているのが今操作しているブランチになります。
これでmasterとdevで別々の世界線で作業が可能になり、互いに影響する事を防ぐ事ができるようになりました。
ですので、例えば、masterは現在yarn開発環境が入っていますが、devでpugやscssを更新し、コミットすると、devブランチではpug,scssが更新された状態、masterではyarn開発環境のままというような状態になります。
ブランチを切り替える
現在はdevブランチで作業をしていますが、masterの世界を更新したいとなった場合はブランチを切り替えてmasterで作業をしなければなりません。
ブランチを切り替える方法は簡単で、切り替えたいブランチをダブルクリックするだけです。
masterに切り換えたければmasterをダブルクリックする事で簡単に切り替えられます。
ただ切り替える際に注意が必要で、もし、devブランチで作業中(更新したファイル)が残ったままブランチを切り替えようとするとエラーとなります。
必ずコミットを行ってからでないとブランチを切り替える事ができないので注意しましょう。[user_attention]アラートの内容を承認して切り替えると変更したファイルは破棄されます。[/user_attention]
次はdevブランチの中でさらにユーザーごとに作業ブランチを切りたいのですが、現状だとそれができません。
一旦現在のdevブランチを消してから階層構造を持たせる形で新しく制作しなければいいけません。
ですので、先にブランチの消し方を学びましょう。
ブランチを消去する
ブランチを消すためには、一旦消すブランチとは別のブランチに移動する必要があります。
今回はmasterへ移動してブランチを消去します。
masterへ移動したら消したいブランチを右クリックし、ブランチを消去を選択する事で消すことができます。
ブランチの中でブランチを作る
ではdevブランチの中でユーザーごとのブランチを作っていきたいと思います。
ブランチを制作した時と同じように『ブランチ』をクリックし、制作画面を表示させます。
ブランチの中にブランチを作りたい場合は『/』で区切ることで階層構造を持ったブランチを制作する事ができます。
今回はdevの中にdev_userAというブランチを作ってみます。
制作し、元の画面に戻ると、devブランチの中にdev_userAが作られているのがわかります。
この後の講座で何か制作をする際は全てこのdev_userAで行うようにしましょう。
devブランチの中にuserA以外のブランチを作る
userAがいるならuserBを作る場面も出てきます。
もしdevブランチの中にdev_userBを制作したくなったら、userAのブランチで『ブランチ』ボタンをクリックし、同じようにdev/dev_userBと入力すれば制作可能です。
なぜ、devブランチを一度消したのか
先ほどdev/dev_userAのブランチを制作する際に初めに制作したdevブランチを一度消去しましたが、なぜでしょうか。
それは、dev/dev_userAブランチを作る際に、devを制作して、その中にdev_userAを制作するという流れになるためです。
同じ階層に同じ名前のブランチは制作できないので、devブランチがすでに存在していると、devブランチが重複してしまうので、エラーが出ます。
ですので、階層構造を持ったブランチを制作したい場合は、制作順に注意が必要です。