ブランチ運用って、どうすればいいか悩むよね?悩むよね?
趣味で作ったソースコードを、Gitで管理したいなと思った。
(リモート管理便利だなー、バージョニング大事だなーって最近思えるようになってきたから)
しかし、いきなり詰まった。
え、ブランチどうしよ。
業務で使ってるようなガチガチな感じだと趣味で利用するには複雑すぎるし、
シンプルすぎると全然メリットが感じられないし、、
そんな感じで悩みながら、こんな感じがいいかなと個人的に落ち着いたブランチ運用を紹介します。
対象
どんな人向けか? どんな人向けじゃないか? を簡単に。
- Gitについてある程度知っている方向け
- (Gitとは、ブランチとは等の説明はありません)
-
趣味で作ったソースコードをGitで管理したいけど、ブランチの運用方法で迷っている方向け
- (紹介する運用方法が業務に適用できるレベルかは分かりません)
環境
- git version 2.21.0.windows.1
作成するブランチ
今回紹介する運用では、以下の3種類のブランチを使用する。
|ブランチ名|用途|
|---|---|---|
|master|完成品用。
直接編集・コミットしてはいけない。|
|develop|開発用。
featはここから派生する。
完成したらmasterにマージする。|
|feat/[編集内容等]|使い捨て用。
基本的にはここで編集する。
編集が完了したらdevelopにマージする。
developにマージしたらfeatは削除する。|
運用の流れ
ローカルのfeatブランチでソースコードを編集し、その内容をリモートの
developブランチへマージするまでの流れをコマンドベースでまとめます。
※ 以下、ローカルの資材には(L)を、リモートの資材には(R)を付けて表します。
準備
// 1. developブランチ(L)に移動
git checkout develop
// 2. developブランチ(R)の資材をdevelopブランチ(L)に反映
git pull origin develop
// 3. developブランチ(L)から派生してfeatブランチ(L)を作成
git branch feat/sample
// 4. 作成したfeatブランチ(L)に移動
git checkout feat/sample
編集~コミット~プッシュ
// 5. featブランチ(L)でソースコードを編集し、編集内容をステージング
git add [編集したファイル]
// 6. ステージングした内容をコミット
git commit -m "[コミットメッセージ]"
// 7. featブランチ(L)の資材をリモートへプッシュ(これで自動的にfeatブランチ(R)が作成される)
git push origin feat/sample
developブランチ(R)へマージ
// 8. ブラウザ上で、featブランチ(R)→ developブランチ(R)のマージリクエスト(とか、プリクエストとか)をする
// 9. ブラウザ上で、マージリクエスト(とか、プリクエストとか)をメンバーに承認してもらう(1人の場合は自分で承認する)
後片付け
// 10. ブラウザ上で、featブランチ(R)を削除
// 11. developブランチ(L)に移動
git checkout develop
// 12. developブランチ(L)を最新化し、編集内容が反映されているかを確認
git pull origin develop
// 13. featブランチ(L)を削除
git branch --delete feat/sample
終わり!
感想
個人的にとても満足
開発がはかどる
Gitには他にも便利なコマンドがたくさん(log、diff、stash、、、)
もっとGitを使いこなせるようになりたいなー