Saya mencoba untuk menarik kode dari repo GitHub saya ke server saya, tetapi tarikannya terus gagal karena menggabungkan konflik. Saya tidak ingin menyimpan perubahan apa pun yang mungkin terjadi pada server lokal saya sejak penarikan terakhir.
Jadi adakah cara saya bisa memaksa Git untuk menimpa dengan versi apa pun di GitHub, daripada mengganggu saya tentang konflik?
Jawaban:
Jika Anda benar-benar ingin membuang komit yang Anda buat secara lokal, yaitu tidak pernah memilikinya dalam sejarah, Anda tidak akan bertanya cara menarik - tarikan berarti bergabung, dan Anda tidak perlu bergabung. Yang perlu Anda lakukan adalah ini:
Saya pribadi merekomendasikan untuk membuat cabang cadangan di KEPALA Anda saat ini terlebih dahulu, sehingga jika Anda menyadari ini adalah ide yang buruk, Anda belum kehilangan jejaknya.
Jika di sisi lain, Anda ingin mempertahankan komit itu dan membuatnya tampak seolah-olah Anda digabungkan dengan asal, dan menyebabkan penggabungan untuk menjaga versi hanya dari asal, Anda bisa menggunakan
ours
strategi gabungan:sumber
Anda bisa menggunakan jawaban dari tautan duplikat yang ditunjukkan oleh nvm.
Atau Anda dapat menyelesaikan konflik dengan menggunakan perubahannya (tetapi beberapa perubahan Anda mungkin disimpan jika tidak bertentangan dengan versi jarak jauh):
sumber
X
Opsi dilewatkan untuk menggabungkan strategi, yang hanyarecursive
jika menggabungkan dua kepala, sehingga perintah Anda akan mengeluh"Could not find merge strategy 'theirs'. Available strategies are: octopus ours recursive resolve subtree."
- itu memalukan, karenaX
dapat diatur dalam konfigurasi (misalnyagit config pull.twohead theirs
) tetapis
tidak bisa.