git pull --rebase する際に気をつけること
git pull --rebase する際に気をつけること
今までと違うプロジェクトに移って、git pull --rebase
を使ったときに少し問題が発生しました。
git pull --rebase
git fetch
+ git rebase
使って OK
- レビュー頼む前
- 一人プロジェクト
git push
する前- メンバー全員が、
git pull --rebase
すると問題なさそう?
今回発生した問題
コンフリクトしてしまった。
コンフリクトした流れ
-
- レビュアー
- 1.1.
feature/xxx
のブランチでレビュー
-
- レビュイー
- 2.1. レビュー対応
- 2.2.
develop
ブランチの変更をgit pull --rebase origin develop
で取り込む - 2.3.
git push origin feature/xxx
-
- レビュアー
- 3.1
git pull origin feature/xxx
- 3.2 コンフリクト
使い方
$ git pull --rebase origin develop
force push
($ git push -f origin <branch_name>
)しないと、push
できない。
force push
すると push
しているコミットを消し去ってしまう。
$ git push -f origin feature/xxx
マージコミットが増えて、ログは汚くなるが、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
していた。
チームの考え方によって、force push
の使い方は変わってくると感じた。
プロジェクトのメンバーと Git
の運用フローについて話し合っておくと良いです。