OK, saya pikir ini adalah skenario git sederhana, apa yang saya lewatkan?
Saya memiliki master
cabang dan feature
cabang. Saya melakukan beberapa pekerjaan master
, beberapa feature
, dan kemudian beberapa lagi master
. Saya berakhir dengan sesuatu seperti ini (urutan leksikografis menyiratkan urutan komitmen):
A--B--C------F--G (master)
\
D--E (feature)
Saya tidak punya masalah untuk git push origin master
menjaga remote master
diperbarui, atau dengan git push origin feature
(saat aktif feature
) untuk menjaga cadangan jarak jauh untuk feature
pekerjaan saya . Sampai sekarang, kami baik-baik saja.
Tetapi sekarang saya ingin rebase feature
di atas F--G
komit pada tuan, jadi saya git checkout feature
dan git rebase master
. Masih bagus. Sekarang kita punya:
A--B--C------F--G (master)
\
D'--E' (feature)
Masalah: saat saya ingin mem-backup feature
cabang rebased baru dengan git push origin feature
, dorongan ditolak karena pohon telah berubah karena rebasing. Ini hanya dapat diselesaikan dengan git push --force origin feature
.
Saya benci menggunakan --force
tanpa yakin saya membutuhkannya. Jadi, apakah saya membutuhkannya? Apakah rebasing harus menyiratkan bahwa berikutnya push
harus --force
memuaskan?
Cabang fitur ini tidak dibagi dengan pengembang lain, jadi saya tidak punya masalah secara de facto dengan dorongan paksa, saya tidak akan kehilangan data apa pun, pertanyaannya lebih konseptual.