【Git】作業ブランチに最新のmainを反映する

作業ブランチで作業している間にもmainブランチが他の開発者によって更新されることがあります。

この記事は「作業ブランチにmainブランチの最新の更新内容を反映する方法」の説明になります。参考になりましたら幸いです。

Gitの作業ブランチに最新のmainを反映する

手順は以下です。ローカルのmainブランチの内容を最新化した後に作業ブランチにmergeすれば完了です!

  1. mainブランチに切り替える
  2. mainブランチを最新化する
  3. 作業ブランチに戻る
  4. 最新化した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ブランチの最新の更新内容を反映する方法でした。

タイトルとURLをコピーしました