Bagaimana cara memperbaiki Kesalahan Git 'Perubahan lokal Anda ke file berikut akan ditimpa oleh gabungan'

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

Kesalahan Git: Perubahan lokal Anda ke file-file berikut akan ditimpa oleh gabungan

Pesan kesalahan ini dihindari JIKA tidak ada file yang tidak berkomitmen yang juga memiliki modifikasi dalam repositori jarak jauh. Ketika 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 menjaga semua orang tetap bergabung.

Apa itu repositori? Apa yang mendorong dan menarik Git?

Repositori adalah sejenis penyimpanan untuk kode yang secara konstan dimodifikasi dan diperoleh oleh anggota tim melalui mekanisme kontrol versi GitHub. ' Tarik' berarti Anda menarik versi terbaru dari repositori ke penyimpanan / IDE lokal Anda (Lingkungan Pengembangan Terpadu) seperti Pycharm dll.

Setelah Tarik, Anda membuat perubahan pada kode atau menambahkan lebih banyak fitur. Setelah selesai, Anda ' Dorong' 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 ini, kami menganggap Anda sudah memiliki pengetahuan dasar dan mengetahui semua seluk beluk.

Bagaimana cara memperbaiki 'Perubahan lokal Anda ke file berikut akan ditimpa oleh gabungan'?

Resolusi pesan kesalahan ini tergantung pada apa yang ingin Anda lakukan. Anda dapat membuang perubahan lokal Anda dan menarik yang ada di repositori atau Anda dapat menyimpan perubahan lokal Anda ke simpanan dan menarik versi dari repositori. Itu semua tergantung pada preferensi Anda.

Oleh karena itu, kami menyarankan Anda berkonsultasi dengan anggota tim Anda dan memastikan bahwa Anda semua berada di halaman yang sama sebelum bergerak maju. Jika Anda melakukan kesalahan atau mendorong versi yang salah, itu dapat mempengaruhi seluruh tim.

Metode 1: Memaksa tarikan untuk menimpa perubahan lokal

Jika Anda tidak peduli dengan perubahan yang dilakukan secara lokal dan ingin mendapatkan kode dari repositori, Anda bisa memaksakan tarikan. Ini akan menimpa semua perubahan lokal yang dilakukan di komputer Anda salinan duplikat dari versi di repositori akan muncul.

Jalankan perintah berikut di IDE Anda:

 reset git - hard git pull 

Ini akan secara instan menghancurkan semua perubahan lokal Anda jadi pastikan Anda tahu apa yang Anda lakukan dan tidak perlu perubahan lokal Anda.

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

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

 git menambahkan $ the_file_under_error git melakukan git pull 

Saat Anda mendapat konflik gabungan, pop alat-alat penyelesaian konflik itu dan periksa baris demi baris.

Metode 3: Menjaga kedua perubahan, tetapi TAPI tidak melakukan

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

 git simpanan simpan --keep-index 

atau

 simpanan git 
 git menarik git simpanan pop 

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

 berlaku simpanan git 

bukannya muncul jika Anda tidak siap kehilangan kode simpanan karena konflik.

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

 git stash git pull - basis asal master git stash pop 

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

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

 git checkout path / ke / file / to / revert 

atau

 git checkout HEAD ^ path / to / file / to / revert 

Anda juga perlu memastikan bahwa file tidak dipentaskan melalui:

 git atur ulang HEAD path / to / file / to / revert 

Kemudian lanjutkan dengan perintah tarik:

 git tarik 

Ini kemudian akan mencoba mengambil versi dari repositori.

Artikel Menarik