Jadi saya membuat kesalahan yang cukup besar. Saya membuat komit, menarik, menggabungkan (tetapi mengacaukan kode saat melakukannya) dan kemudian mendorong. Saya ingin mengulangi penggabungan itu dan mendapatkan kode yang benar. Apakah ada cara untuk melakukan ini?
Saya menggunakan bitbucket.
Jawaban:
Tidak yakin apakah ini adalah cara "diberkati" untuk melakukannya, tetapi inilah yang saya lakukan untuk menyelesaikan masalah yang sama tanpa harus "memaksakan dorongan" atau hal-hal kotor seperti itu.
Mari kita asumsikan riwayat Anda terlihat seperti ini (dan M adalah penggabungan flubbed):
Berlari
git checkout -b merge_fix <commit ID E>
membuat cabang sebelum kami melakukan kesalahan:Sekarang, mari kita lakukan penggabungan kembali pada cabang baru kami. Kami tidak bisa begitu saja bergabung
master
, jadi kami harus memilih komit secara manual sebelum penggabungan yang buruk:git merge <commit ID C>
Jangan membuat kesalahan yang sama seperti yang Anda lakukan sebelumnya!Dengan asumsi komit
G
terlihat bagus, sekarang kami ingin menyinkronkan dengan bagian atasmaster
cabang. Perintah ini memberitahu git untuk mengabaikan perubahan yang dibuat untuk dikuasai, dan memaksa perubahan kita untuk menjadi hasil gabungan:git merge -s ours master
Akhirnya, (sekali lagi dengan anggapan bahwa komit
H
terlihat bagus, kami ingin mempercepatmaster
untuk memasukkan penggabungan tetap kami:Ini benar-benar hanya memindahkan
master
pointer cabang keH
, tapi saya akan mengambil kesempatan untuk membersihkan seni ASCII saya sedikit:Dan begitulah! Anda telah berhasil melakukan penggabungan kembali tanpa membatalkan riwayat apa pun!
sumber
Anda dapat melakukannya, seperti ini:
Itu adalah:
Perlu diingat bahwa
git push --force
akan menulis ulang apa pun yang Anda miliki di cabang jarak jauh, dan orang lain yang menggunakan cabang itu mungkin akan terpengaruh oleh ini juga. (Biasanya Anda tidak harus melakukan ini.)sumber
git push --force
itu tidak amangit merge --abort
lalu Anda bisa bergabung lagisumber
Silakan periksa harapan ini bermanfaat bagi Anda
sumber