hene

hene.dev

git pull --rebase する際に気をつけること

git pull --rebase する際に気をつけること

今までと違うプロジェクトに移って、git pull --rebase を使ったときに少し問題が発生しました。

git pull --rebase

git fetch + git rebase

使って OK

  • レビュー頼む前
  • 一人プロジェクト
  • git push する前
  • メンバー全員が、git pull --rebase すると問題なさそう?

今回発生した問題

コンフリクトしてしまった。

コンフリクトした流れ

  • レビュアー:
    • feature/xxx のブランチでレビュー
  • レビュイー:
    • レビュー対応
    • develop ブランチの変更を git pull --rebase origin develop で取り込む
    • git push origin feature/xxx
  • レビュアー:
    • git pull origin feature/xxx
    • コンフリクトする

使い方

$ git pull --rebase origin develop

force push(-f をつける)しないと、push できない。

$ git push -f origin feature/xxx

そのため、commit は汚くなるが、git pull origin develop したほうが良い。

$ git pull origin develop

git merge

develop の変更を取り込む。

使い方

$ git fetch origin develop
$ git merge origin develop
$ git push origin feature/xxx

git pull

git fetch + git merge

使い方

$ git pull origin develop
$ git push origin feature/xxx

感想

よくわかっていないまま、git pull --rebase origin develop していたので気をつけたいです。

プロジェクトのメンバーと Git の使い方について話し合っておくと良いなと思いました。

参考