OK、これは単純なgitシナリオだと思いましたが、何が欠けていますか?
私はmaster
枝と枝を持っていfeature
ます。私はいくつかの作業master
、いくつかの作業feature
、そしていくつかの作業を行いmaster
ます。私はこのようなものになります(辞書式順序はコミットの順序を意味します):
A--B--C------F--G (master)
\
D--E (feature)
私がする何の問題もないgit push origin master
遠隔保つためにmaster
もして、更新をgit push origin feature
(ときにfeature
私のためのリモートバックアップを維持するために)feature
仕事を。今まで、私たちは元気です。
しかし今、私はマスターfeature
のF--G
コミットの上にリベースしたいので、私git checkout feature
とgit rebase master
。まだいい。今私たちは持っています:
A--B--C------F--G (master)
\
D'--E' (feature)
問題:バックアップに私はしたい瞬間新しいリベースfeature
で分枝状git push origin feature
、プッシュが拒否されたツリーがリベースによって変化しているため。これはでのみ解決できgit push --force origin feature
ます。
私は--force
それが必要かどうか確信せずに使用することを嫌います。それで、私はそれが必要ですか?リベースは必ずしも次push
がフルであることを意味し--force
ますか?
この機能ブランチは他の開発者と共有されていないので、強制プッシュで事実上問題はありません。データを失うことはありません。質問はより概念的です。