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.
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.