0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

git pull --rebase でリモートリポジトリの更新を取り込む

Posted at

###はじめに
本稿は執筆者の備忘録です。
記述内容に誤りなどありましたら、教えていただけると幸いです。
また、末尾に参考サイトのリンクを貼り付けています。
より詳しい解説となっておりますので、ぜひそちらもご覧ください。

#メインブランチは更新される

最近はチーム開発に関わるようになり、個人学習よりも本格的に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のマージコミットがスッキリします。
イメージしにくい方のために、私が書いた超綺麗な図解を載せておきますね。

Group 2.png

ただ、元の履歴が消えてしまうので、通常のマージでログを残した方が良い場合もあります。
チームの方針を確認した方がいいとのことでしたので、注意してください。

###参考サイト
https://kray.jp/blog/git-pull-rebase/
こちらのサイトは本稿の100倍詳しく、そして分かりやすいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?