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'
最後に
閲覧頂きありがとうございました。
備忘録の側面もありますが、本記事がお役に立てば幸いです!