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 の運用フローについて話し合っておくと良いです。
