背景
git rebaseを行ったところ、ローカルとリモートでずれた状態になった。
あまり実務では実施しないため、どのような動きで実現・解消できるか記載。
目的
rebase が起こす問題を知る
実施内容
もともと上記画像のorigin/feature-1にいたfeature-1を下記でrebaseしたのが上記画像の状態
git rebase develop
しかし、上記操作によりリモートとずれてしまっている。(feature-1とorigin/feature-1がずれている)
そのため、下記を実施してリモートの状態を強制的にローカルと合わせた。
git push --force origin feature-1
学び
- rebaseはgitの履歴の改変であるため、ローカル内のブランチに留めること。
- 具体的な使用場所は、developからfeatureを切ったが、developが先に進んでいた時など。
- featureはこまめにpushしているとrebaseするのは難しくなりそう。
次のアクション
- ローカル内のブランチはrebaseで綺麗にしてみる
- rebaseでコンフリクトが起きた場合も試してみる
そして、push時はgitの内部的にはどのような仕組みで行われているのか気になった。