OK, saya pikir ini adalah skenario git sederhana, apa yang saya lewatkan?
Saya memiliki mastercabang dan featurecabang. 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 mastermenjaga remote masterdiperbarui, atau dengan git push origin feature(saat aktif feature) untuk menjaga cadangan jarak jauh untuk featurepekerjaan saya . Sampai sekarang, kami baik-baik saja.
Tetapi sekarang saya ingin rebase featuredi atas F--Gkomit pada tuan, jadi saya git checkout featuredan git rebase master. Masih bagus. Sekarang kita punya:
A--B--C------F--G (master)
\
D'--E' (feature)
Masalah: saat saya ingin mem-backup featurecabang 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 --forcetanpa yakin saya membutuhkannya. Jadi, apakah saya membutuhkannya? Apakah rebasing harus menyiratkan bahwa berikutnya pushharus --forcememuaskan?
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.