Cara memperbaiki Kesalahan Git ‘Perubahan tempatan anda pada fail berikut akan ditimpa penggabungan’



Cuba Instrumen Kami Untuk Menghapuskan Masalah

Mesej ralat ' Perubahan tempatan anda pada fail berikut akan ditimpa penggabungan Berlaku dalam mekanisme kawalan versi Git. Kesalahan ini berlaku jika anda telah mengubahsuai fail yang juga mempunyai pengubahsuaian di repositori jauh.



Kesalahan Git: Perubahan tempatan anda pada fail berikut akan ditimpa penggabungan semasa pengekodan

Kesalahan Git: Perubahan tempatan anda pada fail berikut akan ditimpa oleh penggabungan



Mesej ralat ini dielakkan JIKA tidak ada fail yang tidak disertakan yang juga mempunyai modifikasi di repositori jauh. Semasa mengalami mesej ini, lebih baik anda berjumpa dengan ahli pasukan anda yang lain dan meminta pendapat mereka. Sama ada anda ingin menggabungkan perubahan tempatan anda atau menyimpan versi ini di repositori, yang terbaik adalah memastikan semua orang tetap berada di dalamnya.



Apa itu repositori? Apa yang mendorong dan menarik Git?

Repositori adalah sejenis storan untuk kod yang sentiasa diubah dan diperoleh oleh ahli pasukan melalui mekanisme kawalan versi GitHub. A ' Tarik ’ bermaksud anda menarik versi terkini repositori ke storan / IDE tempatan anda (Integrated Development Environment) seperti Pycharm dll.

Selepas Tarik, anda membuat perubahan pada kod atau menambah lebih banyak ciri. Sebaik sahaja anda selesai, anda ' Tolak ’ kod ke repositori sehingga perubahan disimpan dan penambahan dibuat. Kod ini dapat diakses oleh orang lain juga.

Sekiranya anda baru menggunakan kawalan versi Github, disarankan agar anda mempelajari semua asas terlebih dahulu. Dalam artikel ini, kami menganggap bahawa anda sudah mempunyai pengetahuan asas dan mengetahui semua selok-beloknya.



Bagaimana membetulkan ‘Perubahan tempatan anda pada fail berikut akan ditimpa penggabungan’?

Penyelesaian mesej ralat ini bergantung pada apa yang anda mahu lakukan. Anda boleh membuang perubahan tempatan anda dan menariknya di repositori atau anda boleh menyimpan perubahan tempatan anda ke simpanan dan menarik versi dari repositori. Semuanya bergantung pada pilihan anda.

Oleh itu, kami mengesyorkan agar anda berunding dengan ahli pasukan anda dan memastikan bahawa anda semua berada di halaman yang sama sebelum bergerak ke hadapan. Sekiranya anda melakukan kesalahan atau menolak versi yang salah, itu boleh mempengaruhi keseluruhan pasukan.

Kaedah 1: Memaksa tarikan untuk menimpa perubahan tempatan

Jika awak tidak peduli dengan perubahan yang dilakukan secara tempatan dan ingin mendapatkan kod dari repositori, anda boleh memaksa penarikan. Ini akan menimpa semua perubahan tempatan yang dilakukan di komputer anda salinan pendua versi di repositori akan muncul.

Laksanakan perintah berikut di IDE anda:

git reset - tarikan git keras

Ini akan secara langsung menghancurkan semua perubahan tempatan anda, jadi pastikan anda tahu apa yang anda lakukan dan tidak memerlukan perubahan tempatan anda.

Kaedah 2: Mengekalkan kedua-dua perubahan (tempatan dan dari repo)

Sekiranya anda ingin menyimpan kedua perubahan (perubahan dilakukan secara tempatan dan perubahan ada di repositori), anda boleh menambahkan dan melakukan perubahan. Apabila anda menarik, jelas akan ada konflik penggabungan. Di sini anda boleh menggunakan alat di IDE anda (seperti Difftool dan mergetool) untuk membandingkan dua keping kod dan menentukan perubahan yang harus disimpan dan mana yang hendak dikeluarkan. Ini adalah jalan tengah; tiada perubahan yang akan hilang sehingga anda menghapusnya secara manual.

git add $ the_file_under_error git melakukan git pull

Apabila anda mendapat konflik penggabungan, masukkan alat penyelesaian konflik tersebut dan periksa baris demi baris.

Kaedah 3: Menjaga kedua perubahan TETAPI tidak melakukan

Keadaan ini berlaku dari semasa ke semasa di mana pembangun tidak bersedia melakukan kerana terdapat beberapa kod yang rosak yang anda nyahpepijat. Di sini kita dapat menyimpan perubahan dengan selamat, menarik versi dari repositori, dan kemudian melepaskan kod anda.

git stash save - simpan indeks

atau

git stash
git tarik git stash pop

Sekiranya terdapat beberapa konflik setelah anda memasukkan simpanan, anda harus menyelesaikannya dengan cara biasa. Anda juga boleh menggunakan arahan:

git stash berlaku

bukannya pop jika anda tidak bersedia kehilangan kod tersembunyi kerana konflik.

Sekiranya penggabungan tidak kelihatan seperti pilihan yang sesuai untuk anda, pertimbangkan untuk melakukan pelunasan semula. Rebasing adalah proses memindahkan atau menggabungkan urutan komit ke komit asas baru. Sekiranya berlaku semula, ubah kod ke:

git stash git pull --rebase asal master git stash pop

Kaedah 4: Buat perubahan pada bahagian 'spesifik' kod anda

Sekiranya anda ingin membuat perubahan pada bahagian kod tertentu dan tidak mahu mengganti semuanya, anda boleh komited semua yang anda tidak mahu ganti dan kemudian ikuti kaedah 3. Anda boleh menggunakan arahan berikut untuk perubahan yang anda mahu ganti dari versi yang ada di repositori:

git checkout path / ke / file / to / revert

atau

git checkout HEAD ^ jalan / ke / fail / ke / balik

Anda juga perlu memastikan bahawa fail tidak dipentaskan melalui:

git reset HEAD path / ke / file / to / revert

Kemudian teruskan dengan arahan tarik:

tarik git

Ini kemudian akan cuba mengambil versi dari repositori.

3 minit membaca