Ako opraviť chybu Git & lsquo; Vaše miestne zmeny v nasledujúcich súboroch budú prepísané zlúčením & rsquo;
V mechanizme riadenia verzií Git sa zobrazí chybové hlásenie „ Vaše miestne zmeny v nasledujúcich súboroch budú prepísané zlúčením “. Táto chyba sa vyskytuje, ak ste upravili súbor, ktorý má úpravy aj vo vzdialenom úložisku.
Tejto chybovej správe sa vyhneme, AK neexistujú nezáväzné súbory, ktoré majú tiež úpravy vo vzdialenom úložisku. Keď sa vyskytne táto správa, je najlepšie poradiť sa s ostatnými členmi tímu a požiadať ich o názor. Či už chcete zlúčiť miestne zmeny alebo ponechať verziu v úložisku, je najlepšie ponechať každého na palube.
Čo sú to úložiská? Čo sú push a pull v Gite?
Repozitár je druh úložiska pre kód, ktorý je neustále upravovaný a získavaný členmi tímu prostredníctvom mechanizmu riadenia verzií GitHub. „ Pull“ znamená, že sťahujete najnovšiu verziu úložiska do miestneho úložiska / IDE (integrované vývojové prostredie), ako je Pycharm atď.
Po stiahnutí urobíte zmeny v kóde alebo pridáte ďalšie funkcie. Po dokončení kód „ zatlačíte“ do úložiska, aby sa zmeny uložili a mohli sa robiť doplnky. Kód bude prístupný aj pre ďalších ľudí.
Ak ste v oblasti riadenia verzií Github nováčikom, odporúča sa najskôr si prečítať všetky základné informácie. V tomto článku predpokladáme, že už máte základné vedomosti a poznáte všetky podstaty.
Ako opraviť „Vaše miestne zmeny v nasledujúcich súboroch budú prepísané zlúčením“?
Rozlíšenie tohto chybového hlásenia závisí od toho, čo chcete urobiť. Môžete zahodiť svoje miestne zmeny a stiahnuť ich do úložiska, alebo môžete uložiť lokálne zmeny do koša a stiahnuť verziu z úložiska. Všetko závisí od vašich preferencií.
Preto vám odporúčame, aby ste sa predtým, ako napredujete, poraďte so svojimi členmi tímu a uistite sa, že ste všetci na jednej stránke . Ak sa dopustíte nesprávneho pokusu alebo presadíte nesprávnu verziu, mohlo by to mať vplyv na celý tím.
Metóda 1: Vynútenie ťahu na prepísanie miestnych zmien
Ak sa nestaráte o lokálne vykonané zmeny a chcete získať kód z úložiska, môžete vynútiť načítanie. Týmto prepíšete všetky miestne zmeny vykonané vo vašom počítači, zobrazí sa duplicitná kópia verzie v úložisku.
Vo svojom IDE vykonajte nasledujúce príkazy:
git reset - tvrdý git pull
To okamžite zničí všetky miestne zmeny, takže sa uistite, že viete, čo robíte, a miestne zmeny nepotrebujete.
Metóda 2: Zachovanie obidvoch zmien (miestnych aj repo)
Ak chcete zachovať obe zmeny (zmeny vykonané lokálne a zmeny prítomné v úložisku), môžete ich pridať a potvrdiť. Keď zatiahnete, zjavne dôjde k zlúčeniu konfliktu. Tu môžete použiť nástroje vo svojom IDE (napríklad Difftool a mergetool) na porovnanie dvoch častí kódu a na určenie, ktoré zmeny sa majú zachovať a ktoré odstrániť. Toto je stredná cesta; žiadne zmeny sa nestratia, kým ich manuálne neodstránite.
git pridať $ the_file_under_error git commit git pull
Keď sa stane konflikt zlúčenia, vysuňte tieto nástroje na riešenie konfliktov a začiarknite riadok po riadku.
Metóda 3: Ponechanie obidvoch zmien, ALE nedopustenie sa
Táto situácia sa stane občas, keď vývojári nie sú pripravení zaviazať sa, pretože existuje nejaký čiastočne pokazený kód, ktorý ladíte. Tu môžeme zmeny bezpečne uložiť, stiahnuť verziu z úložiska a potom odložiť kód.
git stash save --keep-index
alebo
skrýša git
git vytiahnite git stash pop
Ak dôjde k nejakým konfliktom po tom, ako vysypete skrýšu, mali by ste ich vyriešiť obvyklým spôsobom. Môžete tiež použiť príkaz:
platí git stash
namiesto popu, ak nie ste pripravení prísť o skrytý kód kvôli konfliktom.
Ak sa vám zlúčenie nezdá ako životaschopná možnosť, zvážte vykonanie rebase. Rebasing je proces presunutia alebo kombinácie postupnosti záväzkov k novému základnému potvrdeniu. V prípade rebasingu zmeňte kód na:
git stash git pull --rebase origin master git stash pop
Metóda 4: Vykonajte zmeny v „konkrétnych“ častiach vášho kódu
Ak chcete vykonať zmeny v konkrétnych častiach kódu a nechcete všetko nahradiť, môžete spáchať všetko, čo nechcete prepísať, a potom postupovať podľa metódy 3. Na zmeny, ktoré vykonáte, môžete použiť nasledujúci príkaz. chcete prepísať z verzie v úložisku:
git checkout path / to / file / to / revert
alebo
git checkout HLAVA ^ cesta / k / súboru / k / vrátiť sa
Musíte sa tiež ubezpečiť, že súbor nie je usporiadaný pomocou:
git reset HEAD cesta / do / súboru / do / vrátiť sa
Potom pokračujte príkazom pull:
git pull
To sa potom pokúsi načítať verziu z úložiska.