Git

Sådan fortrydes sidste forpligtelse i Git

Sådan fortrydes sidste forpligtelse i Git
En almindelig arbejdsgang i Git er, at du foretager ændringer i dit projekt, tilføjer ændringerne til iscenesættelsesområdet, begår ændringerne, foretager nye ændringer, iscenesætter ændringerne, begår ændringerne, og det fortsætter og fortsætter. Men hvad nu hvis du fejlagtigt har begået dine ændringer? Nå, frygt ikke. Du kan altid fortryde din sidste forpligtelse i Git. I denne artikel vil jeg vise dig, hvordan du fortryder den sidste forpligtelse i Git. Så lad os komme i gang.

Opsætning af et Test Git-arkiv:

I dette afsnit vil jeg klone et af mit GitHub-arkiv på min computer for at oprette et testlager til denne artikel. Hvis du vil følge med, kan du også gøre det. Hvis du har dit eget Git-arkiv at arbejde med, så fantastisk! Du kan også bruge det.

At klone et af mit GitHub-arkiv (https: // github.com / dev-shovon / my-project), kør følgende kommando:

$ git klon https: // github.com / dev-shovon / my-project undo_commit_demo

GitHub-arkivet skal klones ind i fortryd_forpligtelsesdemo / vejviser.

Naviger nu til fortryd_forpligtelsesdemo / katalog som følger:

Forpligtelsen, du vil fortryde, kan være i en anden gren som min. Jeg vil fortryde den sidste forpligtelse fra ie-fix afdeling. Så jeg er nødt til at trække grenen ie-fix fra mit GitHub-arkiv.

Du kan trække i ie-fix gren fra GitHub som følger:

$ git pull oprindelse ie-fix

BEMÆRK: Her, ie-fix er grenens navn.

Det ie-fix gren skal trækkes.

Tjek nu til filialen (i mit tilfælde, ie-fix) hvorfra du vil fortryde den sidste forpligtelse som følger:

$ git kassen ie-fix

Som du kan se, den sidste forpligtelse af ie-fix gren er aec00f3. I de næste sektioner vil jeg vise dig måder at fortryde den sidste forpligtelse på dit Git-arkiv.

Fortryd sidste forpligtelse og behold ændringer:

En måde at fortryde den sidste forpligtelse på er brugen af ​​soft reset på dit Git-arkiv. Hvad dette gør er, at den sidste forpligtelse fjernes, og de ændringer, du har foretaget i den forpligtelse, føjes til iscenesættelsesområdet i dit Git-arkiv. På denne måde, hvis du vil rette noget, kan du ændre filerne og tilføje en ny forpligtelse.

Som du kan se, den sidste forpligtelse i min ie-fix gren er aec00f3.

$ git log - online

Også mit iscenesættelsesområde er rent.

$ git status

For at fjerne eller fortryde den sidste forpligtelse skal du køre følgende kommando:

$ git reset - soft HEAD ~ 1

Som du kan se, forpligte sig aec00f3 er væk.

$ git log - online

Den fil, jeg ændrede i den sidste forpligtelse, er også i mit iscenesættelsesområde.

$ git status

Nu kan du ændre filerne yderligere, rette de fejl, du har lavet, og begå ændringerne igen.

Fortryd sidste forpligtelse og fjern ændringer:

Hvis den sidste forpligtelse, som du vil fjerne, er ubrugelig for dig, kan du overveje en hård nulstilling på dit Git-arkiv. Hvad hård nulstilling gør er, det fjerner den sidste forpligtelse som før. Men det fjerner også alle de ændringer, du har foretaget i den sidste forpligtelse. Foretag kun en hård nulstilling, når du er sikker på, at du ikke længere har brug for noget af den sidste forpligtelse.

Jeg vil trække i ie-fix forgren mig fra mit GitHub-arkiv igen for at gendanne den sidste forpligtelse aec00f3 og fjern det igen i dette afsnit.

$ git pull oprindelse ie-fix

Som du kan se, er den sidste forpligtelse tilbage. Hvis dit Git-arkiv uploades til en Git-skytjeneste som GitHub, kan du også gendanne ethvert engagement, du fjerner, også.

Som du kan se, er mit iscenesættelsesområde rent.

$ git status

Kør følgende kommando for at fjerne den sidste forpligtelse og fjerne ændringerne i den forpligtelse:

$ git reset - hårdt HEAD ~ 1

Den sidste forpligtelse skal fjernes, og HOVED markøren skal opdateres.

Som du kan se, forpligte sig aec00f3 fjernes, og forpligtelsen straks før det (3fffdee) er den nuværende sidste forpligtelse.

$ git log - online

Iscenesættelsesområdet er også rent. Så der findes ændringer af filer fra den fjernede forpligtelse.

$ git status

Opdatering af Remote Git Repository:

Nu hvor du med succes har fjernet den defekte forpligtelse fra dit Git-arkiv, vil du muligvis også opdatere dit GitHub-lager. Dette er emnet for dette afsnit.

Som du kan se, git-status viser også, at jeg er 1 forpligtet bagud fra det eksterne lager.

Før jeg opdaterede mit GitHub-arkiv, forpligtelsen aec00f3 eksisterer, selvom jeg fjernede det fra det lokale Git-arkiv, som du kan se.

For at synkronisere det lokale Git-lager med GitHub-lageret skal du køre følgende kommando:

$ git push - force origin ie-fix

Ændringerne i det lokale Git-lager skal synkroniseres med GitHub-lageret.

GitHub-arkivet skal opdateres. Som du kan se, forpligte sig aec00f3 er ikke længere opført. Forpligtelsen straks før aec00f3, som er 3fffdee er nu den sidste forpligtelse.

Så det er sådan, du fortryder sidste forpligtelse i Git. Tak, fordi du læste denne artikel.

Mus Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Brug af en mus eller et tastatur i den forkerte kropsholdning af overdreven brug kan resultere i mange sundhedsmæssige problemer, herunder stamme, kar...
Mus Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
I de senere år har computere og operativsystemer udviklet sig meget. Der var et tidspunkt, hvor brugerne skulle bruge kommandoer til at navigere genne...
Mus Styr og administrer musebevægelse mellem flere skærme i Windows 10
Styr og administrer musebevægelse mellem flere skærme i Windows 10
Dual Display Mouse Manager lader dig kontrollere og konfigurere musebevægelse mellem flere skærme ved at bremse dens bevægelser nær grænsen. Windows 1...