A Git Error kijavítása & lsquo; Az egyes fájlok helyi módosításait felülírja az egyesítés & rsquo;

A „ A következő fájlok helyi módosításait egyesítés felülírja ” hibaüzenet jelenik meg a Git verziókezelő mechanizmusában. 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

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 ' Pull' azt jelenti, hogy a tároló legújabb verzióját a helyi tárolóra / 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á. Ha elkészült, ' leküldi' a kódot az adattárra, így a módosítások mentésre kerülnek, és kiegészítések történnek. A kód más emberek számára is hozzáférhetővé válik.

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 „Az alábbi 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 változtatá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 mielőtt továbblépne , konzultáljon a csapattagokkal, és győződjön meg arról, hogy mindannyian ugyanazon az oldalon vagytok . Ha helytelenül követ el vagy rossz verziót tol be, az az egész csapatot érintheti.

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

Ha nem érdekel a helyben végrehajtott változtatások, és szeretné megszerezni 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 elpusztítja 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 meghibásodott kód, amelyet hibakeresni kell. Itt biztonságosan elrejthetjük a módosításokat, kihúzhatjuk 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 egy újraindítás elvégzé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 alapelkötelezettséggel. Újrabázolás esetén változtassa meg a kódot:

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

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

Ha azt szeretnénk, hogy módosítsa egyes részei a kódot, és nem akar cserélni mindent, akkor elkövetni mindent, hogy nem akarja felülírni, és kövesse a módszer 3. Használhatja a következő parancsot a változásokat, amelyek akkor felül akarja írni az adattárban található verzióbó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.