Git

Git Jak vrátit poslední potvrzení?

Git Jak vrátit poslední potvrzení?
Git je efektivní nástroj, který sleduje váš kód. A jednou z vynikajících funkcí nástroje je, že můžete snadno zkontrolovat svou historii a vrátit se zpět, pokud jste udělali chybu. Vytvořme situaci, kdy můžete vrátit poslední revizi a zjistit, jak funguje příkaz Git revert.

Začneme přidáním několika souborů. Při posledním odevzdání budeme přidávat a mazat soubory, abychom vytvořili chaotickou situaci. Pak se vrátíme zpět do stavu před chaosem.

Můžete vytvořit složku nazvanou / test a spustit následující příkazy pro inicializaci Git a vytvoření výše popsané situace (záměrně provádíme samostatné závazky k vytvoření historie):

$ git init
Inicializované prázdné úložiště Git v / Users / zakh_eecs / _work / LearnGIT / git_revert / test /.git /
$ echo x> soubor_1.txt
$ git přidat -A
$ git commit -m "Přidávání souboru_1.txt "
[master (root-commit) 08caf5d] Přidávání souboru_1.txt
1 soubor změněn, 1 vložení (+)
vytvořit režim 100644 file_1.txt
$ echo y> soubor_2.txt
$ git přidat -A
$ git commit -m "Přidávání souboru_2.txt "
[master ba18a2f] Přidávání souboru_2.txt
1 soubor změněn, 1 vložení (+)
vytvořit režim 100644 file_2.txt
$ echo z> soubor_3.txt
$ git přidat -A
$ git commit -m "Přidávání souboru_3.txt "
[master 97f09ad] Přidávání souboru_3.txt
1 soubor změněn, 1 vložení (+)
vytvořit režim 100644 file_3.txt
$ echo u> soubor_4.txt
$ git přidat -A
$ git commit -m "Přidávání souboru_4.txt "
[master 9caf084] Přidávání souboru_4.txt
1 soubor změněn, 1 vložení (+)
vytvořte režim 100644 file_4.txt
$ echo v> soubor_5.txt
$ git přidat -A
$ git commit -m "Přidávání souboru_5.txt "
[master 3f228b2] Přidávání souboru_5.txt
1 soubor změněn, 1 vložení (+)
vytvořte režim 100644 file_5.txt

Pokud zkontrolujeme naši složku, měli bychom vidět následující situaci:

$ ls -1
file_1.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt

Pokud zkontrolujeme historii, měli bychom mít následující soubory:

$ git log - online
3f228b2 Přidání souboru_5.txt
9caf084 Přidávání souboru_4.txt
97f09ad Přidávání souboru_3.txt
ba18a2f Přidávání souboru_2.txt
08caf5d Přidávání souboru_1.txt

Nyní pojďme vytvořit zmatek, odstraníme několik souborů a přidáme špatný soubor.

$ rm soubor_2.txt
$ rm soubor_4.txt
$ echo w> my_bad_file.txt
$ git přidat -A
$ git commit -m "Přidané a odstraněné soubory bez přemýšlení o důsledcích"
[master 879fbf8] Přidané a odstraněné soubory bez přemýšlení o důsledcích
3 soubory změněny, 1 vložení (+), 2 odstranění (-)
režim mazání 100644 file_2.txt
režim mazání 100644 file_4.txt
vytvořit režim 100644 my_bad_file.txt

Nyní je to podmínka naší složky:

$ ls -1
file_1.txt
file_3.txt
file_5.txt
my_bad_file.txt

A toto je stav naší historie:

$ git log - online
879fbf8 Přidané a odstraněné soubory bez přemýšlení o důsledcích
3f228b2 Přidání souboru_5.txt
9caf084 Přidávání souboru_4.txt
97f09ad Přidávání souboru_3.txt
ba18a2f Přidávání souboru_2.txt
08caf5d Přidávání souboru_1.txt

Uvědomujeme si, že nechceme poslední potvrzení 879fbf8. Takže použijeme následující příkaz revert:

$ git vrátit 879fbf8

Otevře se textové okno pro úpravu automatického komentáře:

Vrátit zpět „Přidané a odstraněné soubory bez přemýšlení o důsledcích“
 
Tím se vrátí spáchání 879fbf849c4bd6fb9a377604d6355c76b92a832c.
 
# Zadejte prosím zprávu o potvrzení změn. Řádky začínají
# s '#' bude ignorováno a prázdná zpráva zruší potvrzení.
# Na pobočce
# Provedené změny:
# Nový soubor: file_2.txt
# Nový soubor: file_4.txt
# Odstraněno: my_bad_file.txt
#

Komentář můžete upravit. Budeme to udržovat tak, jak to je. Jakmile okno s komentářem uložíte, proběhne úloha vrácení:

$ git vrátit 879fbf8
[master 6e80f0e] Vrátit „Přidané a odstraněné soubory bez přemýšlení o důsledcích“
3 soubory změněny, 2 vložení (+), 1 smazání (-)
vytvořit režim 100644 file_2.txt
vytvořte režim 100644 file_4.txt
režim mazání 100644 my_bad_file.txt

Podívejme se nyní na naši složku:

$ ls -1
file_1.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt

Naše soubory jsou zpět v pořadí jako předtím. Všechny doplňky a odstranění byly vráceny. Pojďme zkontrolovat protokol:

$ git log - online
 
6e80f0e Revert "Přidané a odstraněné soubory bez přemýšlení o důsledcích"
879fbf8 Přidané a odstraněné soubory bez přemýšlení o důsledcích
3f228b2 Přidání souboru_5.txt
9caf084 Přidávání souboru_4.txt
97f09ad Přidávání souboru_3.txt
ba18a2f Přidávání souboru_2.txt
08caf5d Přidávání souboru_1.txt

Je tu nový závazek 6e80f0e. Jakékoli změny, které byly součástí 879fbf8 byl vrácen a poté spáchán 6e80f0e.

Varování: Příkaz Git reset vám také umožňuje vrátit zpět závazky. Ale v případě resetování (zejména tvrdý reset) by to odstranilo 879fbf8 spáchat, jako by se to nikdy nestalo, a nebylo by 6e80f0e spáchat. S příkazem reverz může každý vidět změny, ke kterým došlo. V případě resetu nezůstane žádná stopa. Takže je špatný nápad použít příkaz reset ve veřejném úložišti, protože to může způsobit masový zmatek. Zlaté pravidlo zní - nepoužívejte reset ve veřejných úložištích, použijte návrat, který je bezpečnější.

Závěrem:

Příkaz Git revert je rychlý a pohodlný způsob, jak napravit své chyby. Je to příkaz, který byste si měli pamatovat, pokud pravidelně pracujete s Gitem.

Další studie:

WinMouse vám umožňuje přizpůsobit a vylepšit pohyb ukazatele myši na PC s Windows
Chcete-li vylepšit výchozí funkce ukazatele myši, použijte freeware WinMouse. Přidává další funkce, které vám pomohou vytěžit ze své skromné ​​myši ma...
V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...
Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...