Git: Sådan fjerner du en fil fra Commit

Ulykker sker, hvis du arbejder i Git. Du har muligvis ved et uheld inkluderet en fil, der ikke burde være der, eller din forpligtelse er ikke særlig klar. Dette er blot nogle scenarier, hvor du måske ønsker at slette en fil fra en commit.

Git: Sådan fjerner du en fil fra Commit

Denne guide fortæller dig præcis, hvordan du sletter en fil fra en commit, og hvorfor du skal være ekstra forsigtig med sletning af Git-filer.

Sådan fjerner du en fil fra en Git Commit

Der er et par måder at slette en fil fra en Git commit, afhængigt af om det er en lokal commit, eller om du allerede har skubbet den til en ekstern repo. Den enkle måde ville være at slette hele commit i Git , men hvis du vil beholde de fleste af filerne, er det sådan her du kan bruge "git reset" til at slette en fil fra et lokalt lager:

  1. Brug git log til at finde den commit, der har den fil, du vil fjerne.
    Git: Sådan fjerner du en fil fra Commit
  2. Udfør git reset –soft HEAD^ for at fortryde den sidste commit, men behold ændringerne i iscenesættelsesområdet.
    Git: Sådan fjerner du en fil fra Commit
  3. Fjern den fil, du vil fjerne, med git reset HEAD .
    Kører" in terminal" width="578" height="363" data-recalc-dims="1" data-src="https://i0.wp.com/www.alphr.com/wp-content/uploads/ 2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize=578%2C363&ssl=1" data-srcset="https://i0.wp.com/www .alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?w=578&ssl=1 578w, https://i0. wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize=300%2C188&ssl=1 300w , https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize =510%2C320&ssl=1 510w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by- Step-3.png?resize=400%2C250&ssl=1 400w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a -Commit-Step-by-Step-3.png?resize=302%2C190&ssl=1 302w" data-sizes="(max-width: 578px) 100vw, 578px">
  4. Commit resten af ​​filerne igen ved hjælp af git commit -m 'Din commit besked.'
    Git: Sådan fjerner du en fil fra Commit

Siden Git 2.23.0-opdateringen kan du også bruge "git restore" som dette:

  1. Indtast git restore –staged og erstat "filepath" med den fil, du ønsker at fjerne.
    Udførelse af" kommando på kommandolinjen" width="578" height="363" data-recalc-dims="1" data-src="https://i0.wp.com/www.alphr.com/wp-content /uploads/2023/12/git-restore-1.png?resize=578%2C363&ssl=1" data-srcset="https://i0.wp.com/www.alphr.com/wp-content/uploads/ 2023/12/git-restore-1.png?w=578&ssl=1 578w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1 .png?resize=300%2C188&ssl=1 300w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=510% 2C320&ssl=1 510w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=400%2C250&ssl=1 400w, https: //i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=302%2C190&ssl=1 302w" data-sizes="(max-width : 578px) 100vw, 578px">
  2. Så commit: git commit -c ORIG_HEAD .
    Git: Sådan fjerner du en fil fra Commit

Et andet alternativ til helt at fjerne filen er at gøre dette:

  1. Fjern filen med git rm .
    Git: Sådan fjerner du en fil fra Commit
  2. Erstat "filnavn" med filens faktiske navn.
  3. Commit med ændringsflaget ved at indtaste git commit –amend .
    Git: Sådan fjerner du en fil fra Commit

Kommandoen "rm" fjerner en fil fra både arbejdstræet og indekset. Det betyder, at det vil være helt væk fra både det lokale og fjerntliggende repos. Det er en nyttig kommando, når du sporer en fil og senere beslutter, at den ikke længere skal spores, så du kan slette den fra hele projektet.

Du kan også overveje at slette selve Git-grenen, hvis du vil fjerne alle commits og filer i en branch.

Hvorfor fjerne en fil fra en Git Commit?

Der er flere grunde til, at du muligvis skal fjerne en fil fra en Git-commit. Lad os tage et kig på et par stykker.

Forenkling af Commit History

I store og komplekse projekter kan commit-historikken blive overbelastet med ændringer, opdateringer og rettelser. Og nogle af disse ændringer behøver simpelthen ikke at være der. Nogle gange kan en fil være forpligtet, der ikke gør nogen fordele for projektets fremskridt eller klarhed – som en eksperimentel funktion, der ikke slog ud, eller en midlertidig fil, der har overskredet sin velkomst.

Fjernelse af sådanne filer fra commits kan rydde op i dit projekts historie betydeligt og gøre det nemmere for teammedlemmer at forstå udviklingstidslinjen. Hvis du er en del af et team, hjælper en klar og kortfattet forpligtelseshistorie dine teammedlemmer med at tilpasse sig dit projekts udvikling og holder dem orienteret uden at spilde tid på at tyde kompleks kode.

Korrigering af fejl

At rette fejl er måske den mest almindelige årsag til at fjerne en fil fra en commit i Git. For eksempel kan du have været for sent på et projekt og i hast ved et uheld tilføjet en fejlretningslogfil til din commit. Eller, efter at have begået, indså du, at du inkluderede en version af en fil, der ikke er endelig eller opdateret, men en ældre WIP. Alternativt kan filen være noget helt uønsket eller skadeligt.

I sådanne situationer bevarer sletning af en fil fra en commit integriteten af ​​din commit-historik og holder den ren fra unødvendige eller potentielt skadelige filer. Du vil sikre dig, at kun det tilsigtede indhold når det endelige udkast.

Fjernelse af følsomme eller klassificerede data

Det er nemmere end det kan se ud til ved et uheld at begå følsomme data. Men det er en fejl, der kan have alvorlige konsekvenser. For eksempel er API-nøgler en stor del af mange kodningsprojekter i dag, især med fremkomsten af ​​AI og mere intens webintegration. Men API-nøgler er private og skal holdes væk fra nysgerrige øjne. Du kan arbejde på en ny funktion ved hjælp af en API og ved et uheld begå en fil, der indeholder nøglen eller en konfigurationsfil med databaselegitimationsoplysninger.

Denne form for tilsyn kan forårsage sikkerhedssårbarheder og potentielt afsløre følsomme oplysninger for uautoriserede personer. I sådanne scenarier går fjernelse af filen fra commit ud over simpel fejlretning – det er noget, du skal gøre, især hvis du arbejder som en del af et team eller for en virksomhed. Det svarer til at indse, at du ved et uheld har delt et fortroligt dokument i en offentlig mappe og hurtigt flytter det et sikkert sted.

Overvejelser at huske på

Nogle gange er sletning af en fil fra et lager ikke så ligetil, som du ønsker. Undgå disse mulige problemer.

Lagerkonflikter

Fjernelse af filer fra offentlige eller delte commits er ikke noget, du skal gøre tilfældigt. Afhængigt af filens karakter og projekttype, kan det frustrere eller forvirre dem i dit team betydeligt. Desuden forårsager det konflikter mellem deres lokale depoter og fjernbetjeningen. Så før du sletter en fil, skal du tage en hurtig chat med dit team og forklare dem, hvad du laver og hvorfor.

Dette kunne være så simpelt som at sende en besked på dit teams chatplatform eller tage den op i et stand-up møde. Denne heads-up handler ikke kun om at være høflig. Det lader dine teammedlemmer fortsætte deres arbejde forstyrret. Det åbner også døren for feedback – måske har en holdkammerat en grund til at beholde den fil i commit, eller måske har de en bedre løsning på problemet ved hånden.

Tabte data

Når du rydder dit lager, ønsker du ikke at smide noget ud, der er vigtigt, især i større projekter. Så før du forpligter dig til at slette en fil, så tag et sekund, endda en tredjedel, se på den fil, du er ved at fjerne.

Spørg dig selv: "Indeholder denne fil nogen kode, data eller oplysninger, der kan være nødvendige senere?" Det er som at gå gennem en gammel mappe på din computer; nogle gange finder du filer, der virkede ligegyldige på det tidspunkt, men som holder værdi nu. På denne måde ender du ikke i en situation, hvor du febrilsk leder efter et stykke kode eller data, som du fejlagtigt anså for unødvendig før.

Revert er bedre for offentlige arkiver

Når du har at gøre med offentlige depoter, er det ofte bedre at bruge " git revert " som en ikke-destruktiv måde at fjerne noget fra depotet. Det lader dig fortryde ændringer på en gennemsigtig og sporbar måde, som dine teammedlemmer nemt kan følge.

Hvis du arbejder på open source-projekter eller en offentlig samarbejdsindsats, hvor ændringer kan påvirke en bred vifte af bidragydere, holder dette alt klart. Kommandoen "git revert" skaber i det væsentlige en ny commit, der fortryder ændringerne fra en tidligere uden at ændre projektets historie. Det er respektfuldt over for andre samarbejdspartnere, og det bevarer kontinuiteten og integriteten af ​​projektets tidslinje. Du retter åbenlyst en fejl i et gruppeprojekt og bevarer alles bidrag. Og projektets historie forbliver intakt, så alle kan se og forstå.

Hold Git-historien ryddelig

Det er nemt ved et uheld at inkludere en fil, der ikke har nogen plads i en Git-commit, i en Git-commit. Heldigvis er det også nemt at fortryde denne inklusion. Afhængigt af hvad du ønsker, er der forskellige måder at opnå dette på. Bare husk at have dit team i tankerne, hvis du er et teammedlem, og hold de lokale og eksterne lagre konsekvente.

Har du nogensinde ved et uheld inkluderet en forkert fil i din Git commit? Hvad var din løsning? Smid en kommentar nedenfor. Vi er altid ivrige efter at læse dem.


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!