Introduction
-
main(master)を本番環境で運用。 -
developを開発環境で運用。 - 機能追加の際は
featureブランチを切り出してdevelopにプルリク → マージする。
(AI 開発だとdevelopを本番環境で実験して、折を見て安定版をmain(master)にマージすることもありますが...)
上記を想定してfeatureブランチの切り出しを行っていきます。
幾つか方法はあると思いますが、私がプロジェクトで実際に行っている方法で今回は記載します。
本記事が少しでも読者様の学びに繋がれば幸いです!
「いいね」をしていただけると今後の励みになるので、是非お願いします!
環境
Ubuntu22.04
1. ブランチの最新化
デグレすると後々大きな問題になりかねないので、ローカルブランチを最新の状態にします。
git fetch
git pull origin develop
2. ブランチの切り出し
developブランチからfeatureブランチを作成します。
ここではfeature/testブランチとします。
feature 以下は、追加する機能の名称にするとわかりやすくて良いと思います。
git checkout -b feature/test develop
developブランチをベースに、feature/testブランチを作成してチェックアウトしました。
現在のブランチがfeature/testブランチであることを確認しておきましょう。
git branch -a
ついでに log も確認できると便利です。
もしgit treeコマンドをエイリアス指定していない方は、以下の記事を参考に設定することを強くおすすめします。
設定が完了したら log を確認しましょう。最新のdevelopブランチと同様の log が表示されます。
git tree
3.GitHub に push
既にfeatureブランチに機能を追加済みであれば、通常通り push すればリモートリポジトリに反映されます。
git add .
git commit -m "prefix: any message"
git push origin feature/test
機能追加前に push だけ済ませておくことも可能です。
git push -u origin feature/test
ここまでの手順で、ローカルリポジトリのfeature/testブランチとリモートリポジトリのorigin/feature/testブランチが紐付けられました。
おまけ: 誤って作成したブランチを削除したい
新しくブランチを切り出したけど、「機能追加が不要になった」「ブランチ名を間違えた」等の理由で切り出したばかりのfeatureブランチを削除したくなることがあります。
では、リモートリポジトリから削除していきましょう。
GitHub の branches をクリックして、右側のゴミ箱マークからも削除できますが、今回はコマンドから削除します。
git push -d origin feature/test
これでリモートリポジトリのfeature/testは削除されました。
ローカルリポジトリも削除しておきましょう。
削除したいfeatureブランチから別のブランチに checkout します。
git checkout develop
featureブランチを削除しましょう。
git branch -D feature/test
このような結果であれば削除完了です。
Deleted branch feature/test (was hogehoge).
このような結果であればgit checkoutができておりません。
git branch -aで現在のブランチを確認して、git checkoutで別のブランチに移動しましょう。
そして再度、git branch -Dです。
error: Cannot delete branch 'feature/test' checked out at '/hogehoge'
最後に
閲覧頂きありがとうございました。
備忘録の側面もありますが、本記事がお役に立てば幸いです!