git pull --rebase でリモートリポジトリの更新を取り込む
はじめに
本稿は執筆者の備忘録です。
記述内容に誤りなどありましたら、教えていただけると幸いです。
また、末尾に参考サイトのリンクを貼り付けています。
より詳しい解説となっておりますので、ぜひそちらもご覧ください。
メインブランチは更新される
最近はチーム開発に関わるようになり、個人学習よりも本格的にgitを使うようになりました。
自分に振られたIssueをこなすので精一杯なのですが、如何せん時間がかかります。
ようやく動作確認までして、いざpush!、、と思いきや、コンフリクトしているようです。
何やら数日前に大きく改修したらしく自分がブランチを切った際のメインブランチが古くなっていた
ということらしい。
なんか、自分の仕事が遅いような気がしてちょっと切なくなります。
が、しかしこれはチーム開発である以上避けては通れない道ですよね。
メインブランチの更新を取り込む
作業ブランチで更新されたメインブランチを取り込むには、
git pull origin {mainブランチ名}
とすればOKです。
また、pull
コマンドはfetch(リモートのブランチからデータを取ってくる)
とmerge(データを取り込む)
をした場合と同義です。
ですので、
git fetch
git merge origin/main
としてもOK。
--rebaseオプションを使う
pull
コマンドのオプションに--rebase
があります。
これは、前述したメインブランチの更新を作業ブランチに取り込むのではなく、作業ブランチを切った際の状態を、更新されたメインブランチに付け替える
というイメージでいいかと思います。
git pull --rebase origin {mainブランチ名}
こうすると、gitのマージコミットがスッキリします。
イメージしにくい方のために、私が書いた超綺麗な図解を載せておきますね。
ただ、元の履歴が消えてしまうので、通常のマージでログを残した方が良い場合もあります。
チームの方針を確認した方がいいとのことでしたので、注意してください。
参考サイト
https://kray.jp/blog/git-pull-rebase/
こちらのサイトは本稿の100倍詳しく、そして分かりやすいです。
Author And Source
この問題について(git pull --rebase でリモートリポジトリの更新を取り込む), 我々は、より多くの情報をここで見つけました https://qiita.com/bnn848/items/a13d27cce0587e98091c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .