作業ブランチで作業している間にもmainブランチが他の開発者によって更新されることがあります。
この記事は「作業ブランチにmainブランチの最新の更新内容を反映する方法」の説明になります。参考になりましたら幸いです。
Gitの作業ブランチに最新のmainを反映する
手順は以下です。ローカルのmainブランチの内容を最新化した後に作業ブランチにmergeすれば完了です!
- mainブランチに切り替える
- mainブランチを最新化する
- 作業ブランチに戻る
- 最新化したmainブランチとmergeする
手順を1つずつ詳しく説明します。
1. mainブランチに切り替える
以下のコマンドで作業ブランチからmainブランチに切り替えます。
$ git checkout main
もし切り替え時に両ブランチの更新内容が衝突した場合、以下のエラーが発生します。
error: Your local changes to the following files would be overwritten by checkout
このように更新内容が衝突してしまった場合は、作業ブランチの更新を一時的にスタッシュしてからmainブランチへの切り替えを行なってください。
以下のコマンドでスタッシュできます。
$ git stash -u -m "main切り替え時に衝突したので一時退避"
なお、スタッシュした作業ブランチの更新は「4. 最新化したmainブランチとmergeする」で戻しますのでご安心ください。
2. mainブランチを最新化する
以下のコマンドでローカルのmainブランチをリモートのmainブランチの内容に更新し最新化します。
$ git pull origin main
3. 作業ブランチに戻る
以下のコマンドでmainブランチから作業ブランチに戻ります。
$ git checkout work
※ 作業ブランチ名は「work」としています。
4. 最新化したmainブランチとmergeする
以下のコマンドで作業ブランチにmainブランチの最新の内容を反映します。
$ git merge main
もし、「1. mainブランチに切り替える」時にスタッシュしていた場合は、作業ブランチの更新内容を作業ブランチに戻してください。
以下のコマンドで作業ブランチの更新内容を戻すことができます。
$ git stash pop
スタッシュの詳細
https://attack-on-fukukai.com/git-stash/
まとめ
Gitの作業ブランチに最新のmainを反映するには、ローカルのmainブランチの内容を最新化した後に作業ブランチにmergeします。
以上が作業ブランチにmainブランチの最新の更新内容を反映する方法でした。