Sådan sletter du en forpligtelse i Git

At slette en commit i Git er noget, du kan gøre oftere, end du ville forvente. Med sådan en almindelig opgave vil du sandsynligvis finde det praktisk at have en hurtig guide.

Sådan sletter du en forpligtelse i Git

Denne artikel svarer på, hvordan du sletter en Git-commit og andre mulige løsninger, du kan prøve. Så hvis du laver en fejl i din sidste forpligtelse eller ønsker at rydde op i din repos historie, så læs videre for at finde ud af det.

Sletning af en Commit i Git

Du kan slette en commit i Git på nogle få måder. Hvis du ikke vil eller kan ændre Git commit beskeden , så er den mest almindelige løsning at bruge “git reset” og “git revert” kommandoer.

For at bruge "git reset" skal du gøre dette:

  1. Find den commit du vil slette med git log .
    Sådan sletter du en forpligtelse i Git
  2. Brug git reset –soft [commit hash] til at fortryde en commit-kommando uden at "nuke" noget.
    Sådan sletter du en forpligtelse i Git
  3. Eller brug git reset –hard [commit hash] for at nulstille til commit før den du vil slette.
    Sådan sletter du en forpligtelse i Git
  4. Erstat "[commit hash]" med hashen for den commit, du målretter mod.

Alternativt kan du også bruge “git rebase -i HEAD~[Number]” til at rebase det sidste antal commits. Erstat [number] med antallet af commits. Git vil vise dig en fil, som du kan redigere og fjerne den commit, du ønsker at være væk. Gør kun dette, hvis du ikke allerede har skubbet en commit.

Dette er en simpel metode på overfladen, men vær forsigtig. Den fjerner permanent alle ændringer i commits efter den, du nulstiller den til, så vær sikker på, at det er præcis, hvad du vil have.

Alternativt kan du bruge "git revert" sådan her:

  1. Hvis du vil beholde ændringerne i din arbejdsmappe, skal du bruge git revert [commit hash] . Denne kommando opretter en ny commit, der fortryder ændringerne fra den commit, du angiver.
    Sådan sletter du en forpligtelse i Git
  2. Når du har vendt tilbage, skal du skubbe ændringerne til fjernlageret med git push .
    Sådan sletter du en forpligtelse i Git

Her er et andet alternativ, hvis du ønsker at slette flere, specifikke commits:

  1. Brug git checkout [last commit hash] til at tjekke den sidste commit, der skal forblive.
    Sådan sletter du en forpligtelse i Git
  2. Lav en ny filial med git checkout -b reparation .
    Sådan sletter du en forpligtelse i Git
  3. Kør git cherry-pick [specifik commit-hash] på den første commit, du vil bevare.
    Sådan sletter du en forpligtelse i Git
  4. Gentag for de andre commits, du vil bevare.
  5. Kør git checkout master til checkout master.
    Sådan sletter du en forpligtelse i Git
  6. Nulstil master til den sidste brugbare commit med git reset –hard [last commit hash] .
    Sådan sletter du en forpligtelse i Git
  7. Flet den nye gren til master med git merge repair .
    Sådan sletter du en forpligtelse i Git
  8. Kør derefter git push -f origin master for at skubbe til fjernbetjeningen.
    Sådan sletter du en forpligtelse i Git

Hvornår skal du slette Commits

Der er et par situationer, hvor det er bedst at fjerne en commit. Her er nogle af dem.

Dårlig kode

En af de mest almindelige grunde til, at du ønsker at slippe af med en commit, er, fordi koden i den simpelthen ikke skærer den. Måske har du lavet en fejl og vil starte forfra, eller måske har du indset, at resultatet ikke stemmer overens med det, du forsøger at opnå. For eksempel kan du have tilføjet en funktion, der er i konflikt med en anden del af din kode. Sletning af denne commit giver dig mulighed for at gå tilbage, løse problemet og derefter genbekræfte den rettede version.

Hvis du lige har begået et stykke kode og derefter opdaget en åbenlys fejl, såsom en fejl eller et stykke kode, der ikke burde have været der, men du ikke har tid til at rette det – det er en god grund for at slette commit. I stedet for at lade dette unødvendige eller fejlbehæftede stykke kode sidde i dit projekts historie (og potentielt forårsage forvirring eller endda katastrofale fejl i fejlrettelsen), kan du slette den commit. Hvis du gør det, holder du dit projekt rent.

Følsomme data

At begå følsomme data ved et uheld sker oftere, end du måske tror. Ikke overraskende kan det være en betydelig sikkerhedsrisiko, uanset om det er personligt eller firma. Alt fra adgangskoder og API-nøgler til personlige oplysninger kan snigende ende i din commit. Og når det først er derude i projektrummet, kan alle få adgang til det og potentielt bryde din eller dit teams sikkerhed.

Disse ulykker er måske endnu bedre grunde til at slette en commit end blot dårlig kode. Du kan redigere defekt kode ud og ikke bekymre dig om, at den forbliver i projekthistorikken, men dette er ikke en risiko, du ønsker at tage med følsomme data. For eksempel, hvis du ved et uheld begår en fil, der indeholder API-nøgler, vil fjernelse af denne commit forhindre, at denne nøgle falder i de forkerte hænder.

Holder historien ren

En anden solid grund til at slette en Git-commit er at holde din projekthistorik ren og enkel. Mens du arbejder på projektet, bliver din forpligtelseshistorie stadig mere rodet med mindre opdateringer, eksperimenter eller ændringer, der ikke længere er relevante. Når du af en eller anden grund vil kigge historien igennem, såsom at finde ud af, hvorfor du har foretaget en bestemt ændring eller vende tilbage til en stabil tilstand efter et eksperiment, kan en rodet historie blive et problem.

Ved at slette unødvendige commits holder du din projekthistorik ryddelig og nem for dig og andre på dit team at følge. Det er endnu mere nyttigt, før du fusionerer en filial, så du kan præsentere en klar, kortfattet og relevant historie for alle, der anmelder din kode. For eksempel, hvis du har flere commits, der blot var mindre justeringer af en funktion, vil du måske komprimere dem til en enkelt commit for at holde din historie pæn.

Bedste praksis og tips

Før du sletter en commit, skal du følge nogle bedste fremgangsmåder for at holde dit projekt funktionelt og undgå utilsigtede konsekvenser.

Sikkerhedskopier dit arbejde

Før du sletter en commit i Git, er det en god idé at sikkerhedskopiere dit arbejde, selvom du tror, ​​det kan være værdiløst at beholde. Det kan virke som ekstra arbejde, men en backup er et sikkerhedsnet, hvis tingene ikke går som planlagt.

Du kan oprette en sikkerhedskopi ved at lave en ny gren, der afspejler dit lagers nuværende tilstand. For eksempel, før du sletter en commit, der introducerede en ny funktion, skal du oprette en backup-gren "feature-backup." Det vil give dig frihed til at eksperimentere og slette commits uden frygt for at miste vigtigt arbejde. Så hvis du senere indser, at du har brug for noget fra den slettede commit, har du ikke mistet det for altid. Hvis du beslutter dig for, at du ikke længere har brug for den sikkerhedskopi, kan du slette Git-grenen .

Slet ikke offentlige tilsagn

Når du arbejder med offentlige arkiver, især i open source-projekter eller teammiljøer, bør du være ekstra forsigtig med at slette commits. Når først en commit er skubbet til et offentligt lager, og andre har trukket den, kan sletning af commit forvirre eller distrahere alle involverede og forstyrre arbejdet. Det er en form for at trække et tæppe ud under nogen – ikke en behagelig oplevelse, men temmelig hensynsløs. Hvis du skal slette en commit, der allerede er offentlig, skal du fortælle dit team eller projektbidragydere på forhånd, så de ved, hvad der foregår. På denne måde er alle opmærksomme og kan tilpasse deres arbejde derefter.

Brug Revert til Offentlige Repos

Hvis du stadig ønsker at fortryde ændringer i et offentligt lager, i stedet for at slette en commit permanent, kan du fortryde en fletning i Git . I modsætning til git reset, som effektivt omskriver historien, skaber "git revert" en ny commit, der fortryder ændringerne foretaget i en tidligere commit.

Derfor er det meget sikrere og mere gennemsigtigt at bruge denne kommando, især når du arbejder med andre. Du kommunikerer åbent til dine teammedlemmer, at du måske har begået en fejl og giver en forpligtelse tilbage, der løser det. Hvis du har skubbet en commit med en væsentlig fejl, giver "git revert" dig mulighed for hurtigt at ophæve virkningerne af den fejl, mens du holder projektets historie intakt. Dette bevarer projekthistorikkens integritet og holder alles lokale lager i overensstemmelse med fjernbetjeningen.

Dobbelttjek før sletning

En af de største risici, når du sletter commits i Git, er at miste den tid og indsats, du lægger i den commit. For at forhindre dette skal du gennemgå alle ændringerne i hver commit, du vil fjerne. Brug "git log eller git show [commit hash]" for at inspicere commits. Hvis du fjerner en commit, der har tilføjet flere funktioner til din kode, skal du sørge for, at dit projekt ikke har brug for disse funktioner for at fungere, eller at de er replikeret andre steder.

Forpligter sig til det

Der er mange grunde til at slette en commit på Git, som at holde din historie ryddelig, fortryde forvirrende fejl eller at holde dine følsomme oplysninger beskyttet mod nysgerrige øjne. Uanset årsagen, husk, at der er to måder at gøre det på – "git reset" og "git revert", som hver tjener et andet formål, så vælg den, der passer til dit projekt. Du kan også omdøbe Git-grenen for yderligere klarhed.

Har du nogensinde været nødt til at slette en commit i Git? Hvad var din oplevelse, og har du nogle tips til at dele? Efterlad en kommentar nedenfor og fortsæt samtalen.


Leave a Comment

Top 10 tastaturgenveje i Windows 10 og hvordan man bruger dem

Top 10 tastaturgenveje i Windows 10 og hvordan man bruger dem

Her finder du de 10 bedste tastaturgenveje i Windows 10, som kan hjælpe dig i arbejdet, skolen og mere. Læs videre for at lære, hvordan du bruger dem effektivt.

Sådan aktiverer du fjernskrivebordsforbindelser til din Windows 10-pc

Sådan aktiverer du fjernskrivebordsforbindelser til din Windows 10-pc

Når du arbejder væk fra dit skrivebord, kan du få adgang til din pc ved hjælp af Windows Remote Desktop Connection. Denne guide hjælper dig med at aktivere og konfigurere indgående fjernskrivebordsforbindelser.

Sådan ændres museindstillinger i Windows 10

Sådan ændres museindstillinger i Windows 10

Opdag hvordan du tilpasser museindstillinger i Windows 10 for optimal brugeroplevelse. Juster kontrolfunktioner og hastighed effektivt.

Sådan installeres en printer i Windows 10

Sådan installeres en printer i Windows 10

Når du installerer en printer, bør din Windows 10-pc registrere din printer automatisk; trådløst på dit hjemmenetværk, eller tilsluttet printeren direkte til

Hvordan ændrer jeg min standard Google-konto?

Hvordan ændrer jeg min standard Google-konto?

Lær, hvordan du ændrer din standard Google-konto, og nyd nemheden ved at logge på én enkelt konto. Find hurtigt svar her!

Sådan får du vist detaljerede systemoplysninger i Windows 10

Sådan får du vist detaljerede systemoplysninger i Windows 10

Windows 10 indeholder flere mekanismer til at lære om hardware og software i dit system. For at få de mest detaljerede oplysninger, skal du bruge System Information-værktøjet.

Sådan ændrer du din baggrund og får dit skrivebord til at se positivt unikt ud på Windows 11

Sådan ændrer du din baggrund og får dit skrivebord til at se positivt unikt ud på Windows 11

Følg denne guide til, hvordan du ændrer din baggrund og får dit skrivebord til at se positivt unikt ud på Windows 11. Oplev tilpasningsmuligheder for at gøre din Windows 11 unik.

Sådan annullerer du et udskriftsjob på en pc eller Mac

Sådan annullerer du et udskriftsjob på en pc eller Mac

Printere er den perfekte måde at oprette fysiske versioner af elektroniske kvitteringer, fakturaer, formularer, breve og meget mere. Lær hvordan du annullerer udskriftsjobs effektivt.

Sådan deaktiveres Copilot på Windows 11?

Sådan deaktiveres Copilot på Windows 11?

Denne blog hjælper læsere med at deaktivere Copilot-funktionen på Windows, hvis de ikke ønsker at bruge AI-modellen.

Hvordan får man Boogie Down Emote i Fortnite gratis?

Hvordan får man Boogie Down Emote i Fortnite gratis?

Hvis du vil have Boogie Down Emote In Fortnite Gratis, så skal du aktivere et ekstra lag af beskyttelse, altså 2F-godkendelse. Læs dette for at vide, hvordan du gør det!