Chybová zpráva „ Vaše místní změny následujících souborů budou přepsány sloučením „Vyskytuje se v mechanismu řízení verzí Git. K této chybě dochází, pokud jste upravili soubor, který má také úpravy ve vzdáleném úložišti.
Chyba Git: Vaše místní změny následujících souborů budou přepsány sloučením
Této chybové zprávě se vyhneme POKUD neexistují žádné nepotvrzené soubory, které mají také úpravy ve vzdáleném úložišti. Když se setkáte s touto zprávou, je nejlepší se poradit se svými ostatními členy týmu a požádat o jejich názor. Ať už chcete sloučit místní změny nebo ponechat verzi v úložišti, je nejlepší nechat všechny na palubě.
Co jsou úložiště? Co jsou push a pull v Gitu?
Úložiště je druh úložiště kódu, který je neustále upravován a získáván členy týmu prostřednictvím mechanismu řízení verzí GitHub. A ‘ Sem' znamená, že stahujete nejnovější verzi úložiště do místního úložiště / IDE (integrované vývojové prostředí), jako je Pycharm atd.
Po zatažení provedete změny v kódu nebo přidáte další funkce. Jakmile skončíte, Tam' kód do úložiště, takže změny budou uloženy a budou provedeny doplňky. Kód bude přístupný i dalším lidem.
Pokud jste v řízení verzí Github nováčkem, doporučujeme vám nejprve projít všechny základní informace. V tomto článku předpokládáme, že už máte základní znalosti a znáte všechny vstupy a výstupy.
Jak opravit „Vaše místní změny v následujících souborech budou přepsány sloučením“?
Řešení této chybové zprávy závisí na tom, co chcete udělat. Můžete zrušit místní změny a stáhnout je do úložiště, nebo můžete uložit místní změny do úložiště a stáhnout verzi z úložiště. Vše záleží na vašich preferencích.
Proto doporučujeme, abyste se poradili se členy svého týmu a ujistili se, že jste všichni na serveru stejná stránka než se pohnete vpřed. Pokud se dopustíte nesprávného postupu nebo zatlačíte špatnou verzi, mohlo by to ovlivnit celý tým.
Metoda 1: Vynucení vyžádaného přepsání místních změn
jestli ty nestarejte se o místní změny a chcete-li získat kód z úložiště, můžete vynutit stažení. Tím se přepíší všechny místní změny provedené ve vašem počítači a zobrazí se duplicitní kopie verze v úložišti.
Ve svém IDE proveďte následující příkazy:
git reset - tvrdý git pull
To okamžitě zničí všechny vaše místní změny, takže se ujistěte, že víte, co děláte, a nepotřebujete místní změny.
Metoda 2: Zachování obou změn (lokálních i repo)
Pokud chcete zachovat obě změny (změny provedené místně a změny přítomné v úložišti), můžete své změny přidat a potvrdit. Když zatáhnete, evidentně dojde ke sloučení konfliktu. Zde můžete použít nástroje ve vašem IDE (například Difftool a mergetool) k porovnání dvou částí kódu a určení, které změny se mají zachovat a které odstranit. Toto je střední cesta; žádné změny nebudou ztraceny, dokud je ručně neodstraníte.
git přidat $ the_file_under_error git commit git pull
Když získáte konflikt sloučení, vysuňte tyto nástroje pro řešení konfliktů a zkontrolujte řádek po řádku.
Metoda 3: Zachování obou změn ALE nedojde k potvrzení
Tato situace se čas od času stane, když vývojáři nejsou připraveni se zavázat, protože existuje nějaký částečně rozbitý kód, který ladíte. Zde můžeme bezpečně uložit změny, vytáhnout verzi z úložiště a poté uvolnit kód.
git stash save --keep-index
nebo
git skrýš
git pull git stash pop
Pokud dojde k nějakým konfliktům poté, co se objeví skrytá položka, měli byste je vyřešit obvyklým způsobem. Můžete také použít příkaz:
git stash platí
místo popu, pokud nejste připraveni přijít o skrytý kód kvůli konfliktům.
Pokud se vám sloučení nezdá jako schůdná možnost, zvažte rebase. Rebasing je proces přesunu nebo kombinace posloupnosti závazků k novému základnímu potvrzení. V případě rebasingu změňte kód na:
git stash git pull --rebase origin master git stash pop
Metoda 4: Proveďte změny v „konkrétních“ částech kódu
Pokud chcete provést změny v konkrétních částech kódu a nechcete vše nahradit, můžete spáchat vše, co nechcete přepsat, a poté postupujte podle metody 3. Následující změny můžete použít ke změnám, které chcete přepsat z verze v úložišti:
git checkout path / to / file / to / revert
nebo
git checkout HLAVA ^ cesta / k / souboru / k / vrátit se
Musíte se také ujistit, že soubor není připraven prostřednictvím:
git reset HEAD path / to / file / to / revert
Pak pokračujte příkazem pull:
git pull
To se poté pokusí načíst verzi z úložiště.
3 minuty čtení