個人でgitを使うときもbranchとmergeを使えるとちょっと便利。
新機能を組込んでいる途中で「こりゃだめだ」というときは、そのbranchを破棄しちゃえばいい。
新機能の組込みがうまくいったら、mainにmergeできます。
個人開発の場合でも、1回完成したアプリに機能追加をするときにbranchとmergeは使えるんじゃないかと。
※この記事は、git/githubに関する備忘録です
branchでよく使うgitのコマンド
branchに関するコマンドは以下のようなものがあります。
git branch // branchの確認
git branch <新しいbranch名> // branchの作成
git branch -m <古いbranch名> <新しいbranch名> // branch名の変更
git switch <branch名> // branchの切替
git switch -c <新しいbranch名> // branchの作成と切替
git branch -d <branch名> // branchの削除
こんなところのコマンドを使えればいいでしょう。
Visual Studio Codeには、コマンドではなくてもgitのコマンドが使えるのがちょっと嬉しい。
Visual Studio Codeのウインドウの左下のgitのマークをクリックすると、
gitの操作ができる、ウインドウが出てきます。
ただ、Visual Studio Codeの機能を使うと、マウス操作が必要となるので、コマンドで操作する方が速いし、かっこいいですね。
githubにbranchを作成
ローカルにbranchを作ったのですから、リモート(github)にもbranchが必要になります。
といっても、ローカルから、branch名を指定してpushすればOK。
git push origin 「branch名」
そうすると、github側にbranchができます。
①には、practiceというbranchができたと示されています。
②にはbranch数がアップデートされました。
③は勝手にmainにmergeされないようにmainにmergeをプロテクトしましょうというメッセージ。
個人で開発するときには、プロテクトの必要はないですが、グループで開発するときにはちゃんと設定しましょう。
プロテクトの設定に関してはこちらを参照するのがよいかと。
リモート(github)でのmerge
チーム開発をしている時なんかは、リモートでのマージがメインになりますね。
Pull Requestを押下して、Pull Requestの対象を指定する画面に行きます。
New pull requestを押下して、
どのbranchをmergeするかを指定して、Create pull request押下。
承認してくれる担当者(個人開発では自分)にメッセージを付けて、Create pull requestを押下。
追加変更の内容やコンフリクトなどないことを確認して、Maege pull requestを押下して、mergeへ。
mergeの成功を確認して終了です。
ローカルでのmerge
個人開発では、branchを作ってもローカルでbranchをするのが基本だと思います。
それに、ローカルでのリモートと比べてカンタン。
practiceのブランチをmainにmergeします。
① 現在のブbranchをmainに変更
② practiceをmainにmergeする。
これで完了。
コンフリクトが発生した時には、メッセージで教えてくれるので、コンフリクトの修正の方法を調べて頑張りましょう。
個人で開発していれば、そんなにコンフリクトなんて起きないと思うし、チームでも担当がしっかり管理されているところなら、コンフリクトって起きないでしょう。
コンフリクトが多々発生するプロジェクトって、結構ヤバいと思います。
最後に
個人開発だと、branchはローカルで作成して、ローカルでmergeして、mergeしたものをリモートにアップロードするのが筋なんじゃないかと思うところです。
branchでアプリを作ったら、meinにmergeしてそこで疎通確認をするんじゃないかと思います。
だから、個人開発でリモートでmergeするというのはちょっと違和感を感じますね。