Hogyan lehet kijavítani a Git hibát: „A következő fájlok helyi változásait felülírja az egyesítés”



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

A hibaüzenet Az egyes fájlok helyi módosításait az egyesítés felülírja ”A Git verzióvezérlő mechanizmusában fordul elő. Ez a hiba akkor fordul elő, ha módosított egy fájlt, amelynek módosításai vannak a távoli adattárban is.



Git hiba: A következő fájlok helyi változtatásait az egyesítés felülírja a kódolás során

Git hiba: Az alábbi fájlok helyi változtatásait felülírja az egyesítés



Ezt a hibaüzenetet elkerüljük, HA nincsenek olyan lekötetlen fájlok, amelyek szintén módosítottak lennének a távoli adattárban. Amikor ezt az üzenetet tapasztalja, a legjobb, ha konzultál a többi csapattaggal és kikéri a véleményüket. Függetlenül attól, hogy egyesíteni szeretné a helyi módosításokat, vagy meg szeretné tartani a verziót az adattárban, a legjobb, ha mindenkit a fedélzeten tart.



Mik azok a tárak? Mi az a push and pull a Git-ben?

A tárház egyfajta kódtároló, amelyet a csapattagok folyamatosan módosítanak és megszereznek a GitHub verziókezelő mechanizmus révén. A ’ Húzni' azt jelenti, hogy a tároló legújabb verzióját a helyi tárhelyre / IDE-re (integrált fejlesztői környezet), például Pycharm-ra stb. húzza.

Húzás után módosítja a kódot, vagy további szolgáltatásokat ad hozzá. Miután elkészült, Nyom' a kódot az adattárra, így a módosítások mentésre kerülnek, és kiegészítéseket hajtanak végre. A kód hozzáférhetővé válik más emberek számára is.

Ha még nem ismeri a Github verziókezelést, akkor javasoljuk, hogy először az összes alapot járja át. Ebben a cikkben feltételezzük, hogy már rendelkezik alapismeretekkel és ismeri az összes csínját-bínját.



Hogyan lehet kijavítani „A következő fájlok helyi változásait felülírja az egyesítés”?

A hibaüzenet felbontása attól függ, hogy mit szeretne csinálni. Elvetheti a helyi módosításokat, és behúzhatja azokat a lerakatba, vagy elmentheti a helyi módosításokat egy tárolóba, és kihúzhatja a verziót a lerakatból. Minden az Ön preferenciájától függ.

Ezért azt javasoljuk, hogy konzultáljon a csapattagokkal, és győződjön meg arról, hogy mindannyian a ugyanazon az oldalon mielőtt továbblépne. Ha helytelenül követ el vagy rossz verziót tol el, az az egész csapatot érintheti.

1. módszer: A helyi változások felülírásának kényszerítése

Ha te ne törődjenek a helyben végrehajtott változásokkal és meg akarja szerezni a kódot az adattárból, kényszeríthet egy húzást. Ez felülírja a számítógépen végrehajtott összes helyi módosítást, és megjelenik a tárban lévő verzió másolata.

Hajtsa végre a következő parancsokat az IDE-jében:

git reset - kemény git húzás

Ez azonnal megsemmisíti az összes helyi változtatást, ezért győződjön meg róla, hogy tudja, mit csinál, és nincs szüksége a helyi változtatásokra.

2. módszer: Mindkét változás megtartása (helyi és a repótól)

Ha mindkét változást meg akarja tartani (a helyben végrehajtott és a tárban lévő módosításokat), hozzáadhatja és elvégezheti a módosításokat. Amikor húzza, nyilván összeolvadási konfliktus lesz. Itt használhatja az IDE eszközeit (például a Difftool és mergetool) a két kódrész összehasonlításához és annak meghatározásához, hogy mely változtatásokat kell megtartani és melyeket törölni. Ez a középút; addig nem vesznek el változások, amíg manuálisan nem távolítja el őket.

git add $ the_file_under_error git elkövetni git pull

Ha összevonási konfliktus érkezik, tegye be azokat a konfliktusmegoldó eszközöket, és ellenőrizze soronként.

3. módszer: Mindkét változás megtartása, de nem követ el

Ez a helyzet időről időre előfordul, amikor a fejlesztők nem állnak készen arra, hogy elkötelezzék magukat, mert van egy részben hibás kód, amelyet hibakeresni kell. Itt biztonságosan elrejthetjük a módosításokat, kivonhatjuk a verziót a tárból, majd eltávolíthatjuk a kódot.

git stash save --keep-index

vagy

git stash
git pull git stash pop

Ha konfliktusok merülnek fel a rejtett tárhely felbukkanása után, azokat a szokásos módon kell megoldania. Használhatja a következő parancsot is:

git stash alkalmazható

pop helyett, ha nem áll készen arra, hogy konfliktusok miatt elveszítse az elrejtett kódot.

Ha az egyesítés nem tűnik életképes lehetőségnek az Ön számára, fontolja meg az újrabázis végrehajtását. Az újbóli futtatás az a folyamat, amely során az elköteleződési sorrendet áthelyezik vagy egyesítik egy új alapkötelezettséggel. Újrabázolás esetén változtassa meg a kódot:

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

4. módszer: Változtasson a kód „meghatározott” részein

Ha módosítani akarja a kód bizonyos részeit, és nem akar mindent kicserélni, akkor megteheti elkövetni mindent, amit nem akar felülírni, majd kövesse a 3. módszert. A következő paranccsal használhatja azokat a módosításokat, amelyeket felül akar írni a lerakatban található verziótól:

git checkout elérési út / to / file / to / revert

vagy

git checkout HEAD ^ elérési út / fájlhoz / fájlhoz / visszaállítás

Ezenkívül meg kell győződnie arról, hogy a fájlt nem állították-e szakaszba:

git reset HEAD elérési út / to / file / to / revert

Ezután hajtsa végre a pull parancsot:

git húzás

Ez megpróbálja lekérni a verziót a tárból.

3 perc olvasás