Cara memperbaiki Kesalahan Git & lsquo; Perubahan lokal Anda pada file berikut akan ditimpa dengan penggabungan & rsquo;

Pesan kesalahan " Perubahan lokal Anda ke file berikut akan ditimpa oleh penggabungan " terjadi dalam mekanisme kontrol versi Git. Kesalahan ini terjadi jika Anda telah mengubah file yang juga memiliki modifikasi di repositori jarak jauh.

Git Error: Perubahan lokal Anda pada file berikut akan ditimpa dengan penggabungan saat pengkodean

Pesan kesalahan ini dihindari JIKA tidak ada file tidak terikat yang juga memiliki modifikasi dalam repositori jarak jauh. Saat mengalami pesan ini, yang terbaik adalah berkonsultasi dengan anggota tim Anda yang lain dan meminta pendapat mereka. Apakah Anda ingin menggabungkan perubahan lokal Anda atau mempertahankan versi yang ada di repositori, yang terbaik adalah membuat semua orang ikut serta.

Apa itu repositori? Apa itu push and pull di Git?

Repositori adalah sejenis penyimpanan untuk kode yang terus-menerus dimodifikasi dan diperoleh oleh anggota tim melalui mekanisme kontrol versi GitHub. ' Pull' berarti Anda menarik versi terbaru dari repositori ke penyimpanan / IDE lokal Anda (Integrated Development Environment) seperti Pycharm dll.

Setelah Tarik, Anda membuat perubahan pada kode atau menambahkan lebih banyak fitur. Setelah Anda selesai, Anda ' Mendorong' kode ke repositori sehingga perubahan disimpan dan penambahan dilakukan. Kode juga dapat diakses oleh orang lain.

Jika Anda baru mengenal kontrol versi Github, Anda disarankan untuk mempelajari semua dasar-dasarnya terlebih dahulu. Pada artikel kali ini, kami asumsikan bahwa Anda telah memiliki pengetahuan dasar dan mengetahui semua seluk beluknya.

Bagaimana cara memperbaiki 'Perubahan lokal Anda ke file berikut akan ditimpa dengan penggabungan'?

Resolusi dari pesan kesalahan ini bergantung pada apa yang ingin Anda lakukan. Anda dapat membuang perubahan lokal Anda dan menariknya ke dalam repositori atau Anda dapat menyimpan perubahan lokal Anda ke dalam simpanan dan menarik versinya dari repositori. Itu semua tergantung pada preferensi Anda.

Karenanya, kami menyarankan Anda untuk berkonsultasi dengan anggota tim Anda dan memastikan bahwa Anda semua berada di halaman yang sama sebelum melanjutkan. Jika Anda melakukan kesalahan atau memasukkan versi yang salah, ini dapat memengaruhi seluruh tim.

Metode 1: Memaksa tarikan untuk menimpa perubahan lokal

Jika Anda tidak peduli tentang perubahan yang dilakukan secara lokal dan ingin mendapatkan kode dari repositori, Anda dapat memaksa penarikan. Ini akan menimpa semua perubahan lokal yang dilakukan di komputer Anda, salinan duplikat versi di repositori akan muncul.

Jalankan perintah berikut di IDE Anda:

git reset - hard git pull

Ini akan langsung menghancurkan semua perubahan lokal Anda, jadi pastikan Anda tahu apa yang Anda lakukan dan tidak membutuhkan perubahan lokal Anda.

Metode 2: Menyimpan kedua perubahan (lokal dan dari repo)

Jika Anda ingin menyimpan kedua perubahan (perubahan dilakukan secara lokal dan perubahan ada di repositori), Anda bisa menambahkan dan mengkomit perubahan Anda. Saat Anda menarik, jelas akan ada konflik gabungan. Di sini Anda dapat menggunakan alat bantu di IDE Anda (seperti Difftool dan mergetool) untuk membandingkan dua bagian kode dan menentukan perubahan mana yang harus disimpan dan mana yang harus dihapus. Ini adalah jalan tengah; tidak ada perubahan yang akan hilang sampai Anda menghapusnya secara manual.

git tambahkan $ the_file_under_error git komit git pull

Ketika Anda mendapatkan konflik gabungan, pop alat penyelesaian konflik dan periksa baris demi baris.

Metode 3: Menjaga kedua perubahan TAPI tidak melakukan

Situasi ini terjadi dari waktu ke waktu di mana pengembang tidak siap untuk berkomitmen karena ada beberapa kode rusak sebagian yang sedang Anda debug. Di sini kita dapat menyimpan perubahan dengan aman, menarik versi dari repositori, dan kemudian melepas kode Anda.

git stash save --keep-index

atau

git simpanan
git pull git stash pop

Jika ada beberapa konflik setelah Anda membuka simpanan, Anda harus menyelesaikannya dengan cara biasa. Anda juga dapat menggunakan perintah:

git simpanan berlaku

alih-alih pop jika Anda tidak siap kehilangan kode yang disimpan karena bentrok.

Jika penggabungan sepertinya bukan pilihan yang tepat untuk Anda, pertimbangkan untuk melakukan rebase. Rebasing adalah proses memindahkan atau menggabungkan urutan komit ke komit dasar baru. Dalam kasus rebasing, ubah kode menjadi:

git stash git pull --rebase origin master git stash pop

Metode 4: Buat perubahan pada bagian 'spesifik' dari kode Anda

Jika Anda ingin membuat perubahan pada bagian tertentu dari kode dan tidak ingin mengganti semuanya, Anda dapat mengkomit semua yang tidak ingin Anda timpa dan kemudian ikuti metode 3. Anda dapat menggunakan perintah berikut untuk perubahan yang Anda lakukan ingin menimpa dari versi yang ada di repositori:

git jalur checkout / ke / file / ke / kembali

atau

git checkout HEAD ^ jalur / ke / file / ke / kembali

Selain itu, Anda perlu memastikan bahwa file tersebut tidak bertahap melalui:

git setel ulang jalur HEAD / ke / file / ke / kembali

Kemudian lanjutkan dengan perintah tarik:

git pull

Ini kemudian akan mencoba mengambil versi dari repositori.