Jak odstranit závazek v Gitu

Odstranění potvrzení v Gitu je něco, co můžete dělat častěji, než byste čekali. S takovým běžným úkolem by se vám pravděpodobně hodilo mít rychlého průvodce.

Jak odstranit závazek v Gitu

Tento článek odpovídá, jak odstranit potvrzení Git, a další možná řešení, která můžete vyzkoušet. Pokud tedy uděláte chybu ve svém posledním potvrzení nebo chcete vyčistit historii svého úložiště, čtěte dále a dozvíte se to.

Odstranění závazku v Gitu

Revizi v Gitu můžete smazat několika způsoby. Pokud nechcete nebo nemůžete změnit zprávu odevzdání Git , pak nejběžnějším řešením je použití příkazů „git reset“ a „git revert“.

Chcete-li použít „git reset“, postupujte takto:

  1. Najděte potvrzení, které chcete odstranit, pomocí git log .
    Jak odstranit závazek v Gitu
  2. Použijte git reset –soft [commit hash] ke zrušení příkazu odevzdání, aniž byste cokoli „nukli“.
    Jak odstranit závazek v Gitu
  3. Nebo použijte git reset –hard [commit hash] k obnovení odevzdání před tím, který chcete smazat.
    Jak odstranit závazek v Gitu
  4. Nahraďte „[commit hash]“ hashem commitu, na který cílíte.

Alternativně můžete také použít „git rebase -i HEAD~[Číslo]“ k přehodnocení posledního počtu odevzdání. Nahraďte [číslo] počtem potvrzení. Git vám ukáže soubor, který můžete upravit, a odstranit odevzdání, které chcete zrušit. Udělejte to pouze v případě, že jste ještě neodeslali potvrzení.

Na povrchu je to jednoduchá metoda, ale buďte opatrní. Trvale odstraní všechny změny v potvrzeních po tom, na který jste jej resetovali, takže se ujistěte, že je to přesně to, co chcete.

Případně můžete použít „git revert“ takto:

  1. Pokud chcete zachovat změny ve vašem pracovním adresáři, použijte git revert [commit hash] . Tento příkaz vytvoří nové potvrzení, které zruší změny ze zadaného potvrzení.
    Jak odstranit závazek v Gitu
  2. Po návratu přesuňte změny do vzdáleného úložiště pomocí git push .
    Jak odstranit závazek v Gitu

Zde je další alternativa pro případ, že chcete odstranit více konkrétních odevzdání:

  1. Použijte git checkout [last commit hash] ke kontrole posledního potvrzení, které by mělo zůstat.
    Jak odstranit závazek v Gitu
  2. Vytvořte novou větev pomocí git checkout -b repair .
    Jak odstranit závazek v Gitu
  3. Spusťte git cherry-pick [specifický hash odevzdání] na prvním odevzdání, které chcete zachovat.
    Jak odstranit závazek v Gitu
  4. Opakujte pro další potvrzení, která chcete zachovat.
  5. Spusťte git checkout master na checkout master.
    Jak odstranit závazek v Gitu
  6. Resetujte master na poslední použitelnou revizi pomocí git reset –hard [last commit hash] .
    Jak odstranit závazek v Gitu
  7. Sloučit novou větev do hlavní pomocí git merge repair .
    Jak odstranit závazek v Gitu
  8. Poté spusťte git push -f origin master pro odeslání do vzdáleného ovladače.
    Jak odstranit závazek v Gitu

Kdy byste měli smazat závazky

Existuje několik situací, kdy je odstranění potvrzení tou nejlepší věcí. Tady jsou některé z nich.

Špatný kód

Jedním z nejčastějších důvodů, proč byste se chtěli zbavit odevzdání, je ten, že kód v něm jednoduše neřeže. Možná jste udělali chybu a chcete začít znovu, nebo jste si možná uvědomili, že výsledek neodpovídá tomu, čeho se snažíte dosáhnout. Mohli jste například přidat funkci, která je v konfliktu s jinou částí vašeho kódu. Odstranění tohoto potvrzení vám umožní vrátit se, opravit problém a poté znovu potvrdit opravenou verzi.

Pokud jste právě provedli kus kódu a pak si všimli do očí bijící chyby, jako je chyba nebo část kódu, která tam neměla být, ale nemáte čas to opravit – je to dobrý důvod pro smazání odevzdání. Namísto toho, abyste nechali tento nepotřebný nebo chybný kus kódu sedět v historii vašeho projektu (a potenciálně způsobit zmatek nebo dokonce katastrofické chyby při opravě chyb), můžete daný odevzdání smazat. Díky tomu bude váš projekt čistý.

Citlivá data

K náhodnému zadávání citlivých dat dochází častěji, než byste si mysleli. Není divu, že to může představovat značné bezpečnostní riziko, ať už osobní nebo firemní. Cokoli od hesel a klíčů API až po osobní informace může tajně skončit ve vašem potvrzení. A jakmile se objeví v prostoru projektu, může k němu kdokoli přistupovat a potenciálně narušit vaši bezpečnost nebo zabezpečení vašeho týmu.

Tyto nehody jsou možná ještě lepší důvody pro smazání commitu než pouhý špatný kód. Vadný kód můžete upravit a nemusíte se bát, že zůstane v historii projektu, ale toto není riziko, které byste chtěli podstoupit s citlivými daty. Pokud například omylem odevzdáte soubor obsahující klíče API, odstranění tohoto potvrzení zabrání tomu, aby se tento klíč dostal do nesprávných rukou.

Udržování čisté historie

Dalším pádným důvodem, proč smazat potvrzení Git, je udržovat historii projektu čistou a jednoduchou. Jak pracujete na projektu, vaše historie odevzdání je stále více zaplněná drobnými aktualizacemi, experimenty nebo změnami, které již nejsou relevantní. Když se chcete z jakéhokoli důvodu podívat do historie, například zjistit, proč jste provedli určitou změnu nebo se po experimentu vrátit do stabilního stavu, může se zpřehledněná historie stát problémem.

Odstraněním nepotřebných commitů udržíte svou historii projektu uklizenou a snadno ji budete vy i ostatní ve vašem týmu sledovat. To je ještě užitečnější před sloučením pobočky, abyste mohli prezentovat jasnou, stručnou a relevantní historii tomu, kdo kontroluje váš kód. Máte-li například několik odevzdání, které byly jen drobnými vylepšeními funkce, možná je budete chtít stlačit do jednoho odevzdání, abyste udrželi svou historii úhlednou.

Doporučené postupy a tipy

Než smažete potvrzení, dodržujte některé osvědčené postupy, abyste udrželi svůj projekt funkční a předešli nezamýšleným následkům.

Zálohujte svou práci

Než smažete jakýkoli odevzdání v Gitu, je dobré si svou práci zálohovat, i když si myslíte, že by nemělo cenu si ji ponechat. Může se to zdát jako práce navíc, ale záloha je záchranná síť pro případ, že by věci nešly podle plánu.

Zálohu můžete vytvořit vytvořením nové větve, která bude zrcadlit aktuální stav vašeho úložiště. Například před odstraněním potvrzení, které zavedlo novou funkci, vytvořte záložní větev „feature-backup“. To vám dá svobodu experimentovat a mazat commity bez obav ze ztráty důležité práce. Pokud si tedy později uvědomíte, že něco ze smazaného commitu potřebujete, neztratili jste to nadobro. Pokud se rozhodnete, že tuto zálohu již nepotřebujete, můžete odstranit větev Git .

Neodstraňujte veřejné závazky

Při práci s veřejnými repozitáři, zejména v projektech s otevřeným zdrojovým kódem nebo v týmových prostředích, byste měli být zvlášť opatrní při odstraňování potvrzení. Jakmile je odevzdání odesláno do veřejného úložiště a ostatní ho stáhli, smazání tohoto odevzdání může zmást nebo rozptýlit všechny zúčastněné a narušit práci. Je to forma vytahování koberce zpod někoho – není to příjemný zážitek, ale spíše bezohledný. Pokud musíte smazat revizi, která je již veřejná, řekněte to předem svému týmu nebo přispěvatelům projektu, aby věděli, co se děje. Každý je tak při vědomí a může tomu přizpůsobit svou práci.

Použijte Revert for Public Repos

Pokud stále chcete vrátit zpět změny ve veřejném úložišti, místo trvalého odstranění odevzdání můžete vrátit sloučení v Git . Na rozdíl od git reset, který efektivně přepisuje historii, „git revert“ vytvoří nové potvrzení, které vrátí změny provedené v předchozím potvrzení.

Proto je použití tohoto příkazu mnohem bezpečnější a transparentnější, zejména při práci s ostatními. Otevřeně sdělujete členům svého týmu, že jste možná udělali chybu, a vracíte závazek, který ji napraví. Pokud jste poslali commit s významnou chybou, „git revert“ vám umožní rychle negovat účinky této chyby a zároveň zachovat historii projektu nedotčenou. Zachováte tak integritu historie projektu a udržíte lokální úložiště všech v souladu se vzdáleným úložištěm.

Před vymazáním dvakrát zkontrolujte

Jedním z největších rizik při mazání odevzdání v Gitu je ztráta času a úsilí, které do tohoto odevzdání vkládáte. Abyste tomu zabránili, zkontrolujte všechny změny v každém potvrzení, které chcete odstranit. Ke kontrole odevzdání použijte „git log nebo git show [commit hash]“. Pokud odstraňujete potvrzení, které do vašeho kódu přidalo několik funkcí, ujistěte se, že váš projekt tyto funkce nepotřebuje, aby fungoval, nebo že jsou replikovány jinde.

Zavázat se k tomu

Existuje mnoho důvodů, proč smazat potvrzení na Gitu, jako je udržování pořádku v historii, odstraňování matoucích chyb nebo ochrana citlivých informací před zvědavýma očima. Ať už je důvod jakýkoli, pamatujte, že existují dva způsoby, jak to udělat – „git reset“ a „git revert“, přičemž každý slouží jinému účelu, takže si vyberte ten, který je pro váš projekt vhodný. Pro větší přehlednost můžete také přejmenovat větev Git .

Museli jste někdy smazat odevzdání v Gitu? Jaké jsou vaše zkušenosti a máte nějaké tipy, o které se můžete podělit? Zanechte komentář níže a pokračujte v konverzaci.

Zanechat komentář

Jak prát péřovou bundu The North Face, aniž byste zničili její vzhled

Jak prát péřovou bundu The North Face, aniž byste zničili její vzhled

Naučte se, jak bezpečně prát péřovou bundu The North Face, od kontroly štítku s pokyny k plnění a údržbě až po šetrné praní, sušení při nízké teplotě, obnovení loftu a vyhýbání se běžným chybám.

Musí OSVČ podávat daňové přiznání přes datovou schránku? Ano elektronicky, ale ne nutně datovkou

Musí OSVČ podávat daňové přiznání přes datovou schránku? Ano elektronicky, ale ne nutně datovkou

Zjistěte, kdy musí OSVČ podat daňové přiznání elektronicky, zda musí použít datovou schránku, jaký formát je správný a jak ověřit, že podání proběhlo bez chyby.

Kolik nemovitostí můžete vlastnit a stále dostat superdávku? Pravidla majetkového testu krok za krokem

Kolik nemovitostí můžete vlastnit a stále dostat superdávku? Pravidla majetkového testu krok za krokem

Zjistěte, kolik nemovitostí můžete mít při žádosti o superdávku, jak funguje tříletá výjimka pro druhou stavbu a na co si dát pozor v majetkovém testu.

Jak vyčistit péřový svetr Patagonia bez ztráty loftu

Jak vyčistit péřový svetr Patagonia bez ztráty loftu

Naučte se, jak bezpečně prát a sušit péřový svetr Patagonia pomocí aktuálních pokynů pro péči, čističe péřového peří, nízké teploty a tenisových míčků k obnovení jeho loftu.

Jak čistit mlýnek na kávu: Péče o mlecí kameny a nože mlýnku

Jak čistit mlýnek na kávu: Péče o mlecí kameny a nože mlýnku

Naučte se, jak bezpečně čistit mlýnky na kávu s mlecími žebry a noži, odstraňovat mastné zbytky a zachycenou mletou kávu, chránit mlecí žebry a vědět, kdy je nutná důkladnější péče.

Kdy je zpráva v datové schránce považována za doručenou? Přihlášení, 10 dní a fikce doručení

Kdy je zpráva v datové schránce považována za doručenou? Přihlášení, 10 dní a fikce doručení

Zjistěte, kdy je datová zpráva právně doručena, jak funguje fikce doručení po 10 dnech, co znamená „dodáno“ a jak se počítají víkendy a svátky.

Jak čistit pískový filtr v bazénu: Průvodce zpětným proplachem pro začátečníky

Jak čistit pískový filtr v bazénu: Průvodce zpětným proplachem pro začátečníky

Naučte se, jak bezpečně čistit pískový filtr bazénu zpětným proplachováním, oplachováním, resetováním ventilu, kontrolou tlaku a vědomím, kdy je potřeba důkladnější čištění.

Praha–Drážďany autem: potřebujete českou dálniční známku?

Praha–Drážďany autem: potřebujete českou dálniční známku?

Jedete z Prahy do Drážďan po D8 a A17? Zjistěte, kdy potřebujete českou dálniční známku, kolik stojí v roce 2026 a kdy je cesta bez poplatku.

Jak vyčistit znečištěnou tabuli stíratelnou za sucha, aniž byste poškodili její povrch

Jak vyčistit znečištěnou tabuli stíratelnou za sucha, aniž byste poškodili její povrch

Odstraňte stíratelné tabule od zaschlého inkoustu, skvrn od permanentního fixu a dalších skvrn od fixu pomocí kroků bezpečných pro povrch a s upozorněními od výrobce.

Jak aktivovat eDoklady v telefonu: postup krok za krokem a řešení nejčastějších problémů

Jak aktivovat eDoklady v telefonu: postup krok za krokem a řešení nejčastějších problémů

Jak aktivovat eDoklady v telefonu? Ověřený postup pro Android a iPhone, podmínky registrace, Identita občana, PIN, biometrie a řešení chyb.