Nejčastější chyby Git a jak je opravit

Foto Ilya Pavlov na Unsplash

Pokud jste někdy pracovali na velkém projektu s mnoha spolupracovníky, pak jste zjevně používali Git jako svůj kontrolní systém. A když pracujete s něčím tak komplexním, jako je Git, všichni děláme chyby. V tomto článku se budu zabývat některými velmi častými chybami, které programátoři při používání Gitu udělali, a jak je vyřešit. Nyní, bez dalšího povyku, začněme

Pravopisná poslední potvrzující zpráva je špatná

Po dobrých několika hodinách kódování je snadné do pravopisné chyby proniknout do vašich potvrzovacích zpráv. Naštěstí existuje jednoduchá oprava.

git commit --amend

Otevře se váš editor a umožní vám provést změnu poslední zprávy o potvrzení. Nikdo nemusí vědět, že jsi psal „Počáteční závazek“ se třemi „m“.

Pravopisná chyba v názvu větve

Předpokládejme, že je to téměř 15:00 a ještě jste neměli svůj oběd, takže v hladu jste pojmenovali svou novou větvičku - brunch. Lahodné.

K tomu existuje řešení. Tuto větu přejmenujeme podobným způsobem, jak přejmenujeme soubor příkazem mv: přesunutím do nového umístění se správným názvem.

git branch -m feature-brunch feature-branch

Pokud jste tuto větev již vytlačili, je třeba provést několik dalších kroků. Musíme odstranit starou větev z dálkového ovladače a vytáhnout novou:

git push origin --delete feature-brunch
větev funkce git push origin

Náhodně provedl všechny změny hlavní větve

Takže pracujete na nové funkci a ve spěchu jste pro ni zapomněli otevřít novou větev. Již jste se zavázali k načtení souborů a nyní všechny tyto závazky sedí na hlavní větvi.

Můžeme tedy vrátit všechny tyto změny do nové větve pomocí následujících tří příkazů:

Poznámka: Nezapomeňte nejprve potvrdit nebo skrýt změny, jinak budou ztraceny všechny!

větev git větev
git reset HEAD ~ --hard
git checkout feature-branch

Vytvoří se nová větev a poté se vrátí hlavní větev na místo, kde byla předtím, než jste provedli změny, než se konečně zkontroluje nová větev se všemi předchozími změnami neporušenými.

Zapomněli jste přidat soubor do posledního potvrzení

Další běžný úskal Git se dopouští příliš brzy. Zmeškali jste soubor, zapomněli jste jej uložit, nebo je třeba provést drobnou změnu, aby poslední potvrzení mělo smysl. --amend je tvůj přítel znovu.

Přidejte tento ztracený soubor a spusťte tento důvěryhodný příkaz.

git add Missed-file.txt
git commit --amend

V tuto chvíli můžete zprávu potvrzení potvrdit nebo ji uložit, aby zůstala stejná.

Přidán nesprávný soubor v repo

Ale co když uděláš pravý opak? Co když jste přidali soubor, který jste nechtěli zavázat? Neurčitý soubor ENV, adresář pro sestavení, obrázek vašeho psa, který jste omylem uložili do nesprávné složky? Je to všechno opravitelné.

Pokud vše, co jste udělali, byl soubor na scéně a dosud jste se ho nezavázali, je to tak jednoduché jako resetování tohoto souboru:

git reset /assets/img/misty-and-pepper.jpg

Pokud jste šli tak daleko, že jste se této změny dopustili, nemusíte se bát. Před spuštěním stačí provést další krok:

git reset - Microsoft HEAD ~ 1
git reset /assets/img/misty-and-pepper.jpg
rm /assets/img/misty-and-pepper.jpg
git commit

Tím zrušíte odevzdání, odeberete obrázek a na jeho místo přidáte nové potvrzení.

No ne, udělal jsem to znovu

Tento příkaz je určen, když se všechno pokazí. Pokud jste zkopírovali jedno příliš mnoho řešení z Stack Overflow a váš repo je v horším stavu, než tomu bylo v době, kdy jste začínali. Všichni jsme tam byli.

git reflog vám ukáže seznam všech věcí, které jste udělali. To vám pak umožní využít kouzelné dovednosti cestování časem Git a vrátit se do kteréhokoli místa v minulosti. Měl bych poznamenat, že je to poslední možnost a nemělo by se používat lehce. Chcete-li získat tento seznam, zadejte:

git reflog

Git nás sledoval každý krok, který jsme udělali, každý krok, který jsme udělali. Realizace tohoto projektu nám dává toto:

3ff8691 (HEAD -> feature-branch) HEAD @ {0}: Větev: přejmenované refs / heads / feature-brunch na refs / heads / feature-branch
3ff8691 (HEAD -> feature-branch) HEAD @ {2}: checkout: přesun z hlavního na brunch
2b7e508 (master) HEAD @ {3}: reset: přesun na HEAD ~
3ff8691 (HEAD -> feature-branch) HEAD @ {4}: commit: Přidá logo klienta
2b7e508 (master) HEAD @ {5}: reset: přesun na HEAD ~ 1
37a632d HEAD @ {6}: commit: Přidá do projektu logo klienta
2b7e508 (master) HEAD @ {7}: reset: přesun na HEAD
2b7e508 (master) HEAD @ {8}: commit (dodatek): Přidáno přispívající informace na web
dfa27a2 HEAD @ {9}: reset: přechod na HEAD
dfa27a2 HEAD @ {10}: commit (dodatek): Přidáno přispívající informace na web
700d0b5 HEAD @ {11}: commit: Přidané přispívající informace na web
efba795 HEAD @ {12}: commit (počáteční): Initial commit

Vezměte na vědomí sloupec nejvíce vlevo, protože to je index. Pokud se chcete vrátit do kteréhokoli bodu v historii, spusťte příkaz níže a nahraďte {index} tímto odkazem, např. dfa27a2.

git reset HEAD @ {index}

Máte nějaké vlastní tipy Git? Dejte nám vědět v komentářích níže, rád bych je slyšel.

Děkuji za přečtení! Pokud vám to připadá užitečné, nezapomeňte nechat několik tleskání . Sdílejte to se svými přáteli a následovníky! Pošlete mi na iAnkurBiswas a dejte mi vědět, jak se vám tento článek líbil!