リモートマスターをローカルブランチにマージする方法 質問する

リモートマスターをローカルブランチにマージする方法 質問する

他の誰かのプロジェクトからフォークしたプロジェクトのローカル ブランチ ("configUpdate") があり、これに多くの変更を加えたので、その変更を自分のローカル ブランチにマージしたいと考えています。

私はもう試した

git pull --rebase origin configUpdate

しかし、最新の変更が取得されていません。どうすれば 2 つをマージできますか? (ボーナス ポイントとして、コマンドで何を行ったか教えてくださいpull --rebase)

ベストアンサー1

機能ブランチ(例configUpdate) から以下を実行します:

git fetch
git rebase origin/master

または短縮形:

git pull --rebase

なぜこれが機能するのか:

  • git merge branchnameブランチから新しいコミットを取得しbranchname、それを現在のブランチに追加します。必要に応じて、自動的に「マージ」コミットを追加します。

  • git rebase branchnameブランチ から新しいコミットを取得しbranchname、それを変更の「下」に挿入します。より正確には、現在のブランチの履歴を の先端に基づいて変更しbranchname、その上にあなたが行った変更をすべて反映します。

  • git pullは基本的に と同じですgit fetch; git merge origin/master

  • git pull --rebaseは基本的に と同じですgit fetch; git rebase origin/master

git pull --rebaseでは、ではなくを使用するのはなぜでしょうかgit pull? 簡単な例を示します。

  • 新しい機能の開発に取り組み始めます。

  • 変更をプッシュする準備が整うまでに、他の開発者によっていくつかのコミットがプッシュされています。

  • (マージを使用する)の場合git pull、変更内容は、自動的に作成されたマージ コミットに加えて、新しいコミットによって埋められます。

  • 代わりにgit pull --rebase、git はマスターをアップストリームに高速転送し、その上に変更を適用します。

おすすめ記事