TortoiseGitを用いたGitLabリモート/ローカルブランチ切り替え
はじめに
初投稿になります🏳
IT業界1年目で学習の日々を送っており、現在は組み込み系アプリケーションをC#で開発しています。
現在、私の参画する開発チームでは GitLab でソースコードを管理し、ブランチ戦略として GitHub-Flow を採用し、 master と feature の2ブランチで開発を行っています。機能ごとに feature ブランチを生やしてソースコードを追加してマージまで行うと、今まで作業していた feature ブランチを削除して新規に feature ブランチを生やして作業するというものです。🌲
私は Git クライアントとして TortoiseGit を使用していますが、 GitLab 上で作成した feature のリモートブランチをローカルブランチと紐づける方法で詰まりました。そこで、 GitLab 上で管理しているプロジェクトからソースをクローンし、リモートブランチをローカルブランチと関連付け、ブランチを切り替える一連の作業方法をまとめました。
Git 運用のリモートブランチ、ローカルブランチで困ったところを議事録を兼ねてつらつらと。。。
2022/2/28現在での内容です。
TortoiseGit 導入と GitLab の接続方法
ブランチ切り替えと関連しませんが、 TortoiseGit と GitLab の接続方法は下記を参考にしました。
GitLabリモート/ローカルブランチ切り替え
1. 新規 feature ブランチを作成(リモートブランチ)
GitLab のプロジェクトリポジトリからブランチを選択し、新規ブランチを押下する。
2. feature ブランチでクローン(リモートブランチ)
作成したブランチ(今回は feature/now
)を選択して右のクローンボタンを押下する。
3. master のローカルブランチから feature ブランチへ切り替える(ローカルブランチ)
-
PCのエクスプローラーを開き、クローンしたフォルダを右クリック→TortoiseGit→切り替え/チェックアウトを選択する。
-
切り替え先のブランチを
feature/now
ブランチへ変更し、オプションの「新しいブランチを作成」にチェックを入れOKボタンを押下する。「新しいブランチを作成」というのは新しいローカルブランチを生成するということ。デフォルトで作成した feature のリモートブランチと同名となっており、混乱を避けるためそのままを推奨。
4. 作業をしてコミット・プッシュ・マージを行う
ブランチの切り替えがメインのため、省略する。作業ブランチが切り替えた feature/now
ブランチであることを確認して行う。
5. 新規 feature ブランチを作成(リモートブランチ)
1 の手順と同様にして、 GitLab で次に作業を行うブランチ(今回は feature/next
)を生成する。
6. ブランチを master へ切り替える(ローカルブランチ)
3 の手順と同様にして、エクスプローラーで今まで作業したブランチ(今回は feature/now
) → master へ切り替える。
7. master ブランチでプルする(ローカルブランチ)
5 で作成したリモートブランチはPCの TortoiseGit と結びついておらず、ブランチの切り替えをしても次に作業したいブランチ(今回は feature/next
)を選択することができない。そのため、リモートブランチと紐づいている master ブランチを用いて GitLab の最新情報をPCに反映するイメージ。
8. master ブランチを feature へ切り替える(ローカルブランチ)
3 の手順と同様にして、 エクスプローラーで次に作業したいブランチ(今回は feature/next
)を選択する。GitLab の最新情報がPCへ反映されているため、該当ブランチを選択することができる。
まとめ
-
masterブランチでプロジェクトをプル
⇒ TortoiseGit の最新情報がPCに反映される
Discussion