I denne undersøgelse vil vi kort diskutere proceduren for at fjerne en commit fra en filial i Git.
Hvordan fjerner man Commit fra en filial i Git?
I Git kan du fjerne både un-pushede og pushede commits fra en branch. Ved du ikke at gøre det? Nedenstående afsnit vil hjælpe dig i denne henseende.
Bemærk: Til demonstrationen vil vi overveje scenariet, hvor vi har oprettet nogle filer i Git-mappen og foretaget ændringer til depotet. Senere kom det til at vide, at vi havde foretaget ændringer i den forkerte mappe, og disse tilsagn skulle fjernes.
For at gøre det, tjek nedenstående afsnit.
Metode 1: Fjern Un-pushet Commit fra en filial i Git Repository
Følg de medfølgende instruktioner for at fjerne ikke-pushede ændringer fra en gren af et Git-lager.
Trin 1: Åbn Git Bash
Tryk på ' CTRL + Esc '-tasterne for at åbne ' Start op '-menuen og åbn ' Git Bash ' terminal:
Trin 2: Naviger til Git Directory
Gå derefter til Git-mappen, hvorfra du vil fjerne commit:
$ cd 'C:\Brugere \n azma\Git\mari_khan\my_dir'
Trin 3: Opret fil
Udfør følgende kommando for at oprette en ny fil og placere noget tekst i den:
$ ekko 'fil tilføjet' > Fil1.txtSom du kan se, har vi oprettet en ny fil med navnet ' Fil1.txt ' og tilføjede ' fil tilføjet ' streng i det:
Trin 4: Tjek status
Tjek nu Git-bibliotekets status:
$ git statusDet givne output betyder, at nogle ændringer skal forpligtes:
Trin 5: Tilføj fil til Git Directory
Kør derefter følgende kommando for at tilføje den usporede oprettede fil i Git-mappen:
$ git tilføje Fil1.txt
Trin 5: Bekræft ændringer
Overfør alle ændringer i Git Repository ved hjælp af ' git commit ” kommando med den ønskede besked:
$ git commit -m '1 fil tilføjet'
Trin 6: Fjern ændringer
Fjern nu commit ved hjælp af nedenstående kommando:
$ git nulstilles --svært HOVED~ 1Her er ' git Nulstil kommandoen vil fjerne alle ændringer, og ' –hårdt HOVED~1 ” vil flytte HEAD til den forrige commit:
Trin 7: Bekræft slettet forpligtelse
Til sidst skal du udføre ' reflog ” kommando for at bekræfte den slettede commit fra Git repository:
$ git reflogNedenstående output indikerer, at vores commit er slettet fra grenen og placeret i loggen:
Lad os gå til næste afsnit for at forstå proceduren for at fjerne commits fra en Branch i Git efter at have pushet.
Metode 2: Fjern pushed Commit fra en filial i Git Repository
For at fjerne de allerede skubbede commits fra en filial, tjek nedenstående metode.
Trin 1: Naviger til Git Directory
Flyt først til Git-mappen, hvorfra du skal fjerne commit:
$ cd 'C:\Brugere \n azma\Git\mari_khan\my_dir3'
Trin 2: Opret fil
Opret en ny fil og læg noget indhold i den:
$ ekko 'ny fil' > Fil2.txt
Trin 3: Tilføj fil til Git Repository
Tilføj nu filen til Git-mappen ved hjælp af ' git tilføje kommando:
$ git tilføje Fil2.txt
Trin 4: Tjek Git Repository Status
Tjek Git-lagerets status:
$ git status
Trin 5: Bekræft ændringer
Overfør ændringerne i Git-lageret med en hvilken som helst besked:
$ git commit -m 'tilføjede ny fil'
Trin 6: Git Push
Udfør ' git skub ” kommando til at skubbe alle commit-ændringer ind i fjernlageret:
$ git skub
Trin 7: Fjern ændringer
Fjern alle de pushede commits fra grenen:
$ git skub oprindelse HOVED --kraftDet ' HOVED – kraft ” vil bevæge HOVEDET kraftigt og fjerne alle ændringer. I vores tilfælde har vi allerede fjernet commit-ændringer fra filialen:
Trin 8: Bekræft slettet forpligtelse
Skriv ' reflog ” kommando for at bekræfte den slettede commit fra Git-lageret:
$ git reflog
Trin 9: Fjern Commit
Fjern commit fra en filial i Git ved at bruge ' git nulstilles ”:
$ git nulstilles --blød HOVED^
Det er alt! Vi har demonstreret proceduren for at fjerne commit fra en filial i Git.
Konklusion
For at fjerne ikke-pushede commits fra en filial, skal du oprette og tilføje filen til en mappe, foretage ændringer og køre ' $ git reset –hard HEAD~1 ” kommando for at nulstille alle fjernede ændringer. For den næste tilgang skal du skubbe ændringer ind i fjernmappen og køre ' $ git nulstil –blødt HOVED^ ” kommando for at fjerne den fra grenen. I denne undersøgelse har vi illustreret metoden til at fjerne en commit fra en filial i Git.