Com es corregeix l'error Git 'Els canvis locals als fitxers següents se sobreescriuran mitjançant la combinació'



Proveu El Nostre Instrument Per Eliminar Problemes

El missatge d'error ' Els canvis locals als fitxers següents se sobreescriuran mitjançant la combinació ”Es produeix al mecanisme de control de versions de Git. Aquest error es produeix si heu modificat un fitxer que també té modificacions al dipòsit remot.



Error de Git: els canvis locals als fitxers següents se sobreescriuran mitjançant la combinació mentre es codifica

Error de Git: els canvis locals als fitxers següents se sobreescriuran mitjançant la combinació



Aquest missatge d'error s'evita SI no hi ha fitxers no compromesos que també tinguin modificacions al dipòsit remot. Quan experimenteu aquest missatge, és millor consultar els altres membres de l’equip i demanar-los la seva opinió. Tant si voleu combinar els vostres canvis locals com si manteniu la versió present al dipòsit, és millor que tothom estigui a bord.



Què són els dipòsits? Què són push and pull a Git?

Un dipòsit és un tipus d'emmagatzematge de codi que els membres de l'equip modifiquen i obtenen constantment a través del mecanisme de control de versions de GitHub. Un ‘ Estirar vol dir que traieu l'última versió del dipòsit al vostre emmagatzematge local / IDE (entorn de desenvolupament integrat), com ara Pycharm, etc.

Després d'un Pull, feu canvis al codi o afegiu més funcions. Un cop hàgiu acabat, ‘ Empenta el codi al dipòsit perquè es desin els canvis i es facin addicions. El codi també és accessible per a altres persones.

Si no coneixeu el control de versions de Github, és recomanable que primer passeu per tots els conceptes bàsics. En aquest article, suposem que ja teniu coneixements bàsics i coneixeu tots els aspectes i aspectes rellevants.



Com es pot corregir 'Els canvis locals als fitxers següents se sobreescriuran per combinació'?

La resolució d’aquest missatge d’error depèn del que vulgueu fer. Podeu descartar els canvis locals i extreure els que es troben al dipòsit o bé podeu desar els canvis locals en una memòria oculta i extreure'n la versió del dipòsit. Tot depèn de les vostres preferències.

Per tant, us recomanem que consulteu els membres del vostre equip i assegureu-vos que tots esteu a la mateixa pàgina abans d’avançar. Si cometeu un error o feu una versió incorrecta, pot afectar tot l'equip.

Mètode 1: forçar una extracció per sobreescriure els canvis locals

Si tu no us preocupeu pels canvis realitzats localment i si voleu obtenir el codi del dipòsit, podeu forçar un pull. Això sobreescriurà tots els canvis locals fets al vostre ordinador; apareixerà una còpia duplicada de la versió al dipòsit.

Executeu les ordres següents al vostre IDE:

git reset - hard git pull

Això destruirà instantàniament tots els canvis locals, així que assegureu-vos de saber què feu i que no necessiteu els canvis locals.

Mètode 2: conservació dels dos canvis (locals i des de la reposició)

Si voleu conservar els dos canvis (canvis fets localment i canvis presents al dipòsit), podeu afegir i confirmar els canvis. Quan estireu, evidentment hi haurà un conflicte de combinació. Aquí podeu utilitzar les eines del vostre IDE (com ara Difftool i mergetool) per comparar els dos trossos de codi i determinar quins canvis cal conservar i quins eliminar. Aquesta és la via central; no es perdran canvis fins que no els elimineu manualment.

git add $ the_file_under_error git commit git pull

Quan obtingueu un conflicte de combinació, feu servir les eines de resolució de conflictes i comproveu-les línia per línia.

Mètode 3: mantenir els dos canvis PER B no comprometre's

Aquesta situació passa de tant en tant en què els desenvolupadors no estan preparats per comprometre's perquè hi ha algun codi parcialment trencat que esteu depurant. Aquí podem guardar els canvis de manera segura, extreure la versió del dipòsit i, a continuació, desfer el codi.

git stash save --keep-index

o bé

git stash
git pull git stash pop

Si hi ha alguns conflictes després d'haver publicat la reserva, els hauríeu de resoldre de la manera habitual. També podeu utilitzar l'ordre:

s'aplica git stash

en lloc de fer pop si no esteu preparat per perdre el codi ocult a causa de conflictes.

Si la combinació no us sembla una opció viable, penseu a fer una nova modificació. Rebasing és el procés de moure o combinar una seqüència de commit a una nova commit de base. En cas de tornar a canviar la versió, canvieu el codi per:

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

Mètode 4: feu canvis a parts 'específiques' del vostre codi

Si voleu fer canvis a parts específiques del codi i no voleu substituir-ho tot, podeu fer-ho compromís tot el que no vulgueu sobreescriure i després seguiu el mètode 3. Podeu utilitzar l'ordre següent per als canvis que vulgueu sobreescriure de la versió present al dipòsit:

git checkout path / to / file / to / revert

o bé

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

A més, heu d’assegurar-vos que el fitxer no s’organitza mitjançant:

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

A continuació, continueu amb l'ordre pull:

git pull

Tot seguit, s'intentarà obtenir la versió del dipòsit.

3 minuts de lectura