Jak opravit chybu Git 'Vaše místní změny v následujících souborech budou přepsány sloučením'

Chybová zpráva „ Vaše místní změny v následujících souborech budou přepsány sloučením “ se objeví v mechanismu řízení verzí Git. K této chybě dochází, pokud jste upravili soubor, který má také změny ve vzdáleném úložišti.

Git Error: Vaše místní změny v následujících souborech budou přepsány sloučením

Tato chybová zpráva je vyloučena, pokud neexistují žádné nekompletní soubory, které mají také úpravy ve vzdáleném úložišti. Při zaznamenávání této zprávy je nejlepší konzultovat ostatní členy týmu a požádat o jejich názor. Ať už chcete sloučit své místní změny nebo ponechat verzi přítomnou v úložišti, je nejlepší nechat všechny na palubě.

Co jsou úložiště? Co je to Git?

Úložiště je druh úložiště pro kód, který je neustále upravován a získáván členy týmu prostřednictvím kontrolního mechanismu verze GitHub. ' Pull' znamená, že stahujete nejnovější verzi úložiště do místního úložiště / IDE (Integrated Development Environment), jako je Pycharm atd.

Po vytažení provedete změny kódu nebo přidáte další funkce. Jakmile budete hotovi, zatlačíte kód do úložiště, aby se změny uložily a provedly se doplňky. Kód je přístupný i pro ostatní lidi.

Pokud jste novým ovládáním verzí Githubu, doporučujeme nejprve projít všemi základy. V tomto článku předpokládáme, že již 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“?

Rozlišení této chybové zprávy závisí na tom, co chcete dělat. Můžete zrušit místní změny a stáhnout je v úložišti nebo můžete uložit místní změny do skrýše a stáhnout verzi z úložiště. Vše záleží na vaší preferenci.

Doporučujeme proto, abyste se před postupováním dopředu poradili se členy svého týmu a ujistili se, že jste všichni na stejné stránce . Pokud se dopustíte nesprávného použití nebo stisknete nesprávnou verzi, může to ovlivnit celý tým.

Metoda 1: Vynucení přepsat místní změny

Pokud vám záleží na změnách provedených lokálně a chcete získat kód z úložiště, můžete vynutit tah. Tím přepíšete všechny místní změny provedené v počítači a zobrazí se duplicitní kopie verze v úložišti.

V IDE spusť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í změn (místních i repo)

Pokud chcete zachovat obě změny (změny provedené lokálně a změny přítomné v úložišti), můžete změny přidat a potvrdit. Když taháte, zjevně dojde ke sloučení konfliktu. Zde můžete pomocí nástrojů v IDE (například Difftool a mergetool) porovnat dva kusy kódu a určit, které změny se mají zachovat a které odstranit. Toto je střední cesta; žádné změny nebudou ztraceny, dokud je neodstraníte ručně.

 git add $ the_file_under_error git commit git pull 

Když dojde ke sloučení konfliktu, pop tyto nástroje řešení konfliktů a zkontrolujte řádek po řádku.

Metoda 3: Udržování obou změn, ale není závazek

K této situaci dochází čas od času, kdy vývojáři nejsou připraveni se zavázat, protože existuje nějaký částečně poškozený kód, který ladíte. Zde můžeme bezpečně skrýt změny, vytáhnout verzi z úložiště a poté váš kód odložit.

 git stash save --keep-index 

nebo

 git skrýš 
 git pull git skrýš pop 

Pokud po vložení skrýše dojde ke konfliktům, měli byste je vyřešit obvyklým způsobem. Můžete také použít příkaz:

 Použít git skrýš 

místo popu, pokud nejste připraveni ztratit ukrytý kód kvůli konfliktům.

Pokud se sloučení nezdá být životaschopnou možností, zvažte rebase. Rebasing je proces přesunu nebo kombinování posloupnosti odevzdání novému základnímu potvrzení. V případě rebasingu změňte kód na:

 git stash git pull --základ původ master git stash pop 

Metoda 4: Proveďte změny v „specifických“ částech kódu

Pokud chcete provést změny v konkrétních částech kódu a nechcete nahradit vše, můžete zavázat vše, co nechcete přepsat, a poté postupujte podle metody 3. Pro změny, které chcete přepsat z verze v úložišti:

 git checkout path / to / file / to / revert 

nebo

 git checkout HEAD ^ cesta / k / souboru / k / vrátit 

Musíte se také ujistit, že soubor není uspořádán prostřednictvím:

 git reset HEAD cesta / k / souboru / k / návratu 

Poté pokračujte příkazem pull:

 Git tah 

Tím se pokusíte načíst verzi z úložiště.

Zajímavé Články