Cara memperbaiki Kesalahan Git & lsquo; Perubahan tempatan anda pada fail berikut akan ditimpa oleh penggabungan & rsquo;

Mesej ralat " Perubahan tempatan anda ke file 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

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 memastikan versi tetap ada di repositori, yang terbaik adalah memastikan semua orang tetap aktif.

Apa itu repositori? Apa yang mendorong dan menarik Git?

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

Selepas Tarik, anda membuat perubahan pada kod atau menambah lebih banyak ciri. Setelah 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 memperbaiki '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 melangkah ke hadapan. Sekiranya anda melakukan kesalahan atau menolak versi yang salah, ini boleh mempengaruhi keseluruhan pasukan.

Kaedah 1: Memaksa tarikan untuk menimpa perubahan tempatan

Sekiranya anda 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 menghancurkan semua perubahan tempatan anda dengan serta-merta, jadi pastikan bahawa 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 tersebut (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: Mengekalkan kedua-dua perubahan TETAPI tidak melakukan

Situasi 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 pembelian 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 melakukan semua yang anda tidak mahu ganti dan kemudian ikuti kaedah 3. Anda boleh menggunakan perintah berikut untuk perubahan yang anda mahu menimpa dari versi yang ada di repositori:

jalan keluar git / ke / fail / untuk / balik

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.