Sådan fortryder du sidste git-forpligtelse

Hvis du er en webudvikler eller en softwaretekniker, er det meget sandsynligt, at du skubber en masse forpligtelser til din Git arkiv hver dag.

I nogle tilfælde har du dog begået nogle filer, der ikke skal skubbes til dit Git-arkiv.

Nogle gange vil du muligvis udføre yderligere ændringer, før du udsteder forpligtelsen .

Som en konsekvens skal du fortryde den sidste forpligtelse fra dit Git-arkiv.

I denne vejledning skal vi se, hvordan du nemt kan fortryde den sidste forpligtelse, måske at forpligte ændringer igen senere.

Indholdsfortegnelse

Fortryd Last Git Commit with reset

Den nemmeste måde at fortryde den sidste Git-forpligtelse er at udføre kommandoen “git reset” med indstillingen “–soft”, der bevarer ændringer foretaget i dine filer. Du er nødt til at specificere forpligtelsen til fortrydelse, som er “HEAD ~ 1” i dette tilfælde.

Den sidste forpligtelse fjernes fra din Git-historie.

Hvis du ikke er bekendt med denne notation, betyder “HEAD ~ 1”, at du vil nulstille HEAD (den sidste forpligtelse) til en forpligtelse før i loghistorikken.

Så hvad er virkningen af denne kommando?

Kommandoen “git reset” kan ses som det modsatte af kommandoen “git add”, idet man i det væsentlige tilføjer filer til Git-indekset.

Når du angiver indstillingen “–soft”, bliver Git instrueret til ikke at ændre filerne i arbejdskataloget eller i indekset.

Som et eksempel , lad os sige, at du har tilføjet to filer i din seneste forpligtelse, men du vil udføre nogle ændringer på denne fil.

Som en konsekvens bruger du “git reset” med “–soft” -muligheden. for at fortryde den sidste forpligtelse og udføre yderligere ændringer.

Som du kan se, ved at fortryde den sidste forpligtelse, filen er stadig i indekset (ændringer, der skal begås), men forpligtelsen blev fjernet.

Fantastisk, du har fortrydet den sidste Git-forpligtelse på dit arkiv.

Hard Reset Git-forpligtelse

I det forrige afsnit har vi set, hvordan du nemt kan fortryde den sidste forpligtelse ved at bevare de ændringer, der er foretaget i filerne i indekset.

I nogle tilfælde vil du blot slippe af med forpligtelsen og ændringerne i filerne.

Dette er formålet med indstillingen “–hard”.

For at fortryde den sidste forpligtelse og kassere alle ændringer i arbejdskataloget og indekset skal du udføre kommandoen “git reset” med indstillingen “–hard” og angive forpligtelsen før HEAD (“HEAD ~ 1”).

Vær forsigtig, når du bruger “–hard”: ændringer fjernes fra arbejdskataloget og fra indekset, du mister alle ændringer.

Tilbage til det eksempel, vi tidligere har beskrevet, lad os sige at du har forpligtet en ny fil til dit Git-lager med navnet “fil1”.

Lad os nu lade som om, at du vil fortryde den sidste forpligtelse og kassere alle ændringer.

Fantastisk, lad os nu se tilstanden af vores Git-arkiv .

Som du kan se, blev filen fuldstændigt fjernet fra Git-arkivet (indeks + arbejdskatalog)

Mixed reset Git begå

For at fortryde den sidste Git-forpligtelse skal du holde ændringer i arbejdskataloget, men IKKE i indekset, skal du bruge kommandoen “git reset” med indstillingen “–blandet”. Ved siden af denne kommando skal du blot tilføje “HEAD ~ 1” til den sidste forpligtelse.

Som et eksempel, lad os sige, at vi har tilføjet en fil med navnet ” file1 ”i en forpligtelse, som vi skal fortryde.

For at fortryde den sidste forpligtelse udfører vi simpelthen kommandoen” git reset “med indstillingen” –blandet “.

Når du angiver indstillingen” –blandet “, fjernes filen fra Git-indekset, men ikke fra arbejdskataloget.

Som en konsekvens bliver” –blandet ”Er en“ blanding ”mellem den bløde og den hårde nulstilling, deraf dens navn.

Fantastisk! Du fandt en anden måde at tilbageføre den sidste forpligtelse på, mens du opretholder ændringer foretaget i filer.

I det næste afsnit vil vi se en anden måde at tilbageføre den sidste forpligtelse ved hjælp af kommandoen git revert.

Fortryd sidste forpligtelse med tilbagevenden

For at gendanne den sidste Git-forpligtelse , brug “git revert” og angiv den forpligtelse, der skal tilbageføres, som er “HEAD” for den sidste commit i din historie.

Kommandoen “git revert” adskiller sig lidt fra kommandoen “git reset”, fordi den registrerer en ny forpligtelse med de ændringer, der er indført ved at tilbageføre den sidste forpligtelse.

Bemærk også, at med “git reset ”du specificerede” HEAD ~ 1 “, fordi reset-kommandoen indstiller en ny HEAD-position, mens tilbagevenden faktisk vender tilbage til den angivne forpligtelse.

Som en konsekvens bliver du nødt til at foretage ændringerne igen for at filerne skal være tilbageført og for, at forpligtelsen fortrydes.

Som en konsekvens, lad os sige, at du har forpligtet en ny fil til dit Git-arkiv, men du vil tilbagekalde denne forpligtelse.

Når kommandoen “git revert” udføres, åbner Git automatisk din teksteditor for at foretage ændringerne.

Når du er færdig med forpligtelsesmeddelelsen, vises en besked med den nye kommission-hash.

Hvis du nu skulle inspicere din Git-historie igen, ville du bemærke, at der blev tilføjet en ny forpligtelse for at fortryde den sidste forpligtelse fra dit arkiv.

Konklusion

I denne vejledning har du set alle måder at fortryde den sidste forpligtelse i dit Git-arkiv.

Du har lært om “git reset ”-Kommandoen og de forskellige måder at udføre den på, afhængigt af hvad du vil beholde eller ej.

Du har også lært om forskellen mellem git-reset og git revert-kommandoen, sidstnævnte tilføjer en ny forpligtelse for at tilbageføre den fra dit arkiv.

Hvis du er nysgerrig efter Git eller om software engin eering, vi har et komplet afsnit dedikeret til det på hjemmesiden, så sørg for at tjekke det ud!

Hvis du kan lide Git, kan du lide vores andre artikler:

  • Sådan klones et Git-arkiv
  • Sådan afmonteres Git-filer
  • Sådan Cherry Pick Git forpligter sig
git

Write a Comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *