Kako izbrisati commit u Gitu

Brisanje obveza u Gitu je nešto što možete činiti češće nego što biste očekivali. S tako uobičajenim zadatkom, vjerojatno bi vam dobro došao kratki vodič.

Kako izbrisati commit u Gitu

Ovaj članak odgovara kako izbrisati Git commit i druga moguća rješenja koja možete isprobati. Dakle, ako pogriješite u svom posljednjem predanju ili želite očistiti svoju repo povijest, čitajte dalje da biste saznali.

Brisanje predaje u Gitu

Obavezu u Gitu možete izbrisati na nekoliko načina. Ako ne želite ili ne možete promijeniti Git commit poruku , tada je najčešće rješenje korištenje naredbi “git reset” i “git revert”.

Da biste koristili "git reset", učinite ovo:

  1. Pronađite obvezu koju želite izbrisati pomoću git log .
    Kako izbrisati commit u Gitu
  2. Upotrijebite git reset –soft [commit hash] za poništavanje naredbe izvršenja bez "nukiranja" bilo čega.
    Kako izbrisati commit u Gitu
  3. Ili upotrijebite git reset –hard [commit hash] za vraćanje na commit prije onog koji želite izbrisati.
    Kako izbrisati commit u Gitu
  4. Zamijenite “[commit hash]” s hashom izvršenja koje ciljate.

Alternativno, također možete koristiti “git rebase -i HEAD~[Number]” za ponovno baziranje posljednjeg broja obveza. Zamijenite [number] s brojem obveza. Git će vam pokazati datoteku koju možete urediti i ukloniti obvezu za koju želite da nestane. Učinite ovo samo ako već niste gurnuli commit.

Ovo je naizgled jednostavna metoda, ali budite oprezni. Trajno uklanja sve promjene u obvezama nakon one na koju ste je vratili, stoga budite sigurni da je to upravo ono što želite.

Alternativno, možete koristiti "git revert" ovako:

  1. Ako želite zadržati promjene u svom radnom direktoriju, koristite git revert [commit hash] . Ova naredba stvara novu predaju koja poništava promjene iz obveze koju navedete.
    Kako izbrisati commit u Gitu
  2. Nakon vraćanja, gurnite promjene u udaljeni repozitorij pomoću git push .
    Kako izbrisati commit u Gitu

Evo još jedne alternative, u slučaju da želite izbrisati višestruke, specifične obveze:

  1. Upotrijebite git checkout [last commit hash] da provjerite zadnji commit koji bi trebao ostati.
    Kako izbrisati commit u Gitu
  2. Napravite novu granu s git checkout -b repair .
    Kako izbrisati commit u Gitu
  3. Pokrenite git cherry-pick [određeni hash komitiranja] na prvom komitu koji želite sačuvati.
    Kako izbrisati commit u Gitu
  4. Ponovite za ostale obveze koje želite sačuvati.
  5. Pokrenite git checkout master do checkout mastera.
    Kako izbrisati commit u Gitu
  6. Resetiraj master na posljednje upotrebljivo uvrštavanje pomoću git reset –hard [hash posljednjeg uvrštavanja] .
    Kako izbrisati commit u Gitu
  7. Spojite novu granu za master s git merge repair .
    Kako izbrisati commit u Gitu
  8. Zatim pokrenite git push -f origin master da biste poslali na daljinski upravljač.
    Kako izbrisati commit u Gitu

Kada biste trebali izbrisati obveze

Postoji nekoliko situacija kada je uklanjanje obveza najbolja stvar za učiniti. Ovo su neki od njih.

Loš kod

Jedan od najčešćih razloga zašto biste se htjeli riješiti obvezivanja je taj što ga kod u njemu jednostavno ne reže. Možda ste pogriješili i želite krenuti ispočetka, ili ste možda shvatili da rezultat ne odgovara onome što pokušavate postići. Na primjer, možda ste dodali funkciju koja je u sukobu s drugim dijelom vašeg koda. Brisanje ove predaje omogućuje vam da se vratite, popravite problem i zatim ponovno izvršite ispravljenu verziju.

Ako ste upravo izvršili dio koda i zatim uočili upadljivu pogrešku, kao što je bug ili dio koda koji nije trebao biti tamo, ali nemate vremena to popraviti – to je dobar razlog za brisanje obveze. Umjesto da dopustite da ovaj nepotrebni ili manjkavi dio koda ostane u povijesti vašeg projekta (i potencijalno izazove zabunu ili čak katastrofalne pogreške u ispravljanju grešaka), možete izbrisati tu predaju. Na taj način vaš projekt ostaje čist.

Osjetljivi podaci

Slučajno unošenje osjetljivih podataka događa se češće nego što mislite. Ne iznenađuje da to može predstavljati značajan sigurnosni rizik, bilo osobni ili korporativni. Sve, od lozinki i API ključeva do osobnih podataka, moglo bi krišom završiti u vašem predanju. A kada se jednom pojavi u prostoru projekta, svatko mu može pristupiti i potencijalno probiti vašu ili sigurnost vašeg tima.

Ove nesreće su možda čak i bolji razlozi za brisanje predaje nego puki loš kod. Možete urediti neispravan kod i ne brinuti se hoće li on ostati u povijesti projekta, ali to nije rizik koji biste željeli preuzeti s osjetljivim podacima. Na primjer, ako slučajno predate datoteku koja sadrži API ključeve, uklanjanje ovog predanja sprječava da ovaj ključ padne u pogrešne ruke.

Čuvanje povijesti čistom

Još jedan čvrst razlog za brisanje Git predaje je održavanje povijesti projekta čistom i jednostavnom. Kako radite na projektu, vaša povijest predaje postaje sve pretrpana manjim ažuriranjima, eksperimentima ili promjenama koje više nisu relevantne. Kada želite pregledavati povijest iz bilo kojeg razloga, kao što je otkrivanje zašto ste napravili određenu promjenu ili vraćanje u stabilno stanje nakon eksperimenta, pretrpana povijest može postati problem.

Brisanjem nepotrebnih obaveza, svoju povijest projekta održavate urednom i lakom za praćenje vama i drugima u vašem timu. To je još korisnije prije spajanja grana tako da možete predstaviti jasnu, sažetu i relevantnu povijest onome tko pregledava vaš kod. Na primjer, ako imate nekoliko obveza koje su bile samo manje izmjene značajke, možda biste ih željeli zgnječiti u jednu predaju kako bi vaša povijest bila uredna.

Najbolji primjeri iz prakse i savjeti

Prije nego izbrišete obvezu, slijedite neke najbolje prakse kako biste održali svoj projekt funkcionalnim i izbjegli neželjene posljedice.

Sigurnosno kopirajte svoj rad

Prije nego što izbrišete bilo koju predaju u Gitu, dobra je ideja napraviti sigurnosnu kopiju svog rada, čak i ako mislite da je bezvrijedno zadržati. Možda se čini kao dodatni posao, ali sigurnosna kopija je sigurnosna mreža u slučaju da stvari ne idu po planu.

Možete stvoriti sigurnosnu kopiju tako da napravite novu granu koja odražava trenutno stanje vašeg repozitorija. Na primjer, prije brisanja obveze koja je uvela novu značajku, stvorite rezervnu granu "feature-backup". To će vam dati slobodu eksperimentiranja i brisanja obveza bez straha od gubitka važnog posla. Dakle, ako kasnije shvatite da trebate nešto iz obrisanog upisa, niste to zauvijek izgubili. Ako odlučite da vam ta sigurnosna kopija više nije potrebna, možete izbrisati Git granu .

Nemojte brisati javne obveze

Kada radite s javnim spremištima, posebno u projektima otvorenog koda ili timskim okruženjima, trebali biste biti posebno oprezni s brisanjem obaveza. Nakon što se obveza gurne u javno spremište i drugi su je povukli, brisanje te obveze može zbuniti ili omesti sve uključene i poremetiti rad. To je oblik izvlačenja tepiha ispod nekoga – nije ugodno iskustvo, već prilično bezobzirno. Ako morate izbrisati obvezu koja je već javna, unaprijed obavijestite svoj tim ili suradnike na projektu kako bi znali što se događa. Na taj način svi su svjesni i mogu prilagoditi svoj rad prema tome.

Koristite Vrati za javna spremišta

Ako i dalje želite poništiti promjene u javnom repozitoriju, umjesto trajnog brisanja obveze, možete poništiti spajanje u Gitu . Za razliku od git reset-a, koji učinkovito prepisuje povijest, "git revert" stvara novi commit koji poništava promjene napravljene u prethodnom commit-u.

Stoga je korištenje ove naredbe mnogo sigurnije i transparentnije, posebno kada radite s drugima. Otvoreno govorite članovima svog tima da ste možda pogriješili i uzvraćate obvezu da ćete to popraviti. Ako ste gurnuli commit sa značajnim bugom, "git revert" vam omogućuje da brzo poništite učinke tog buga, dok povijest projekta ostaje netaknuta. Time se održava cjelovitost povijesti projekta i održava svačije lokalno spremište u skladu s daljinskim.

Još jednom provjerite prije brisanja

Jedan od najvećih rizika pri brisanju obveza u Gitu je gubitak vremena i truda koje ste uložili u tu predaju. Da biste to spriječili, pregledajte sve promjene u svakom uređivanju koje želite ukloniti. Upotrijebite “git log ili git show [commit hash]” za pregled predaja. Ako uklanjate obvezu koja je dodala nekoliko funkcija vašem kodu, provjerite jesu li vašem projektu potrebne te funkcije za rad ili da su replicirane negdje drugdje.

Posvećenost tome

Postoji mnogo razloga za brisanje obvezivanja na Gitu, poput održavanja vaše povijesti urednom, poništavanja zbunjujućih pogrešaka ili čuvanja vaših osjetljivih informacija od znatiželjnih očiju. Bez obzira na razlog, zapamtite da postoje dva načina da to učinite – "git reset" i "git revert", od kojih svaki služi različitoj svrsi, pa odaberite onaj koji je pravi za vaš projekt. Također možete preimenovati Git granu radi dodatne jasnoće.

Jeste li ikada morali brisati commit u Gitu? Kakvo je vaše iskustvo i imate li kakve savjete za podijeliti? Ostavite komentar ispod i nastavite razgovor.


Leave a Comment

Kako poslati datoteku putem Bluetootha s računala sa sustavom Windows 10

Kako poslati datoteku putem Bluetootha s računala sa sustavom Windows 10

Bluetooth je brz i praktičan način za dijeljenje datoteka između dva uređaja. Ovaj vodič vam pomaže da lako pošaljete datoteke putem Bluetooth-a koristeći Windows 10.

10 najpopularnijih tipkovničkih prečaca u sustavu Windows 10 i kako ih koristiti

10 najpopularnijih tipkovničkih prečaca u sustavu Windows 10 i kako ih koristiti

Evo pogleda na 10 najboljih tipkovničkih prečaca u sustavu Windows 10 i kako ih možete koristiti u svoju korist za posao, školu i još mnogo toga.

Upute za Windows 10: šaljite Bluetooth datoteke, slike, glazbu i video na sve uređaje

Upute za Windows 10: šaljite Bluetooth datoteke, slike, glazbu i video na sve uređaje

Sjećate li se dana kada je Bluetooth bio tako velika stvar? Saznajte kako jednostavno slati datoteke s Windows 10 putem Bluetootha u našem vodiču.

Kako blokirati i deblokirati nekoga u Microsoftovim timovima i koje su alternative

Kako blokirati i deblokirati nekoga u Microsoftovim timovima i koje su alternative

Microsoft Teams jedna je od najistaknutijih platformi za video konferencije za tvrtke u današnjem dobu pandemije. U ovom vodiču naučite kako blokirati kontakte i upravljati komunikacijom u Microsoft Teamsu.

Najbolji poslovi za seljake u Minecraftu

Najbolji poslovi za seljake u Minecraftu

Minecraft sela stvaraju predah od obično usamljeničkog života okupljanja i izrade u igri. Otkrijte najbolje seljake i njihove poslove.

Kako promijeniti pozadinu i učiniti da vaša radna površina izgleda jedinstveno u sustavu Windows 11

Kako promijeniti pozadinu i učiniti da vaša radna površina izgleda jedinstveno u sustavu Windows 11

Slijedite ovaj vodič o tome kako promijeniti pozadinu uz savjete za personalizaciju radne površine u sustavu Windows 11.

Kako postaviti dvostruki monitor na Windows 10

Kako postaviti dvostruki monitor na Windows 10

Naučite kako postaviti više monitora na Windows 10 na ovom blogu. Ovaj vodič sadrži korake za konfiguraciju, personalizaciju i rješavanje problema s dvostrukim monitorima.

Kako deinstalirati aplikaciju ili program u sustavu Windows 10

Kako deinstalirati aplikaciju ili program u sustavu Windows 10

Saznajte kako lako deinstalirati aplikacije u Windows 10 i osloboditi prostor na vašem uređaju.

Kako povećati i smanjiti na Discordu

Kako povećati i smanjiti na Discordu

Discord web-mjesto, aplikacija, pa čak i mobilna aplikacija imaju svoj način prilagođavanja razine zumiranja na Discordu radi bolje pristupačnosti.

Kako ukloniti Snapchat filtere sa spremljene fotografije

Kako ukloniti Snapchat filtere sa spremljene fotografije

Umorni ste od tih filtera na Snapchat fotografijama? Saznajte kako ukloniti Snapchat filtere sa spremljenih fotografija uz jednostavne korake.