Git: Slik fjerner du en fil fra Commit

Git: Slik fjerner du en fil fra Commit

Ulykker skjer hvis du jobber i Git. Du har kanskje ved et uhell inkludert en fil som ikke burde være der, eller forpliktelsen din er ikke veldig tydelig. Dette er bare noen scenarier når du kanskje ønsker å slette en fil fra en commit.

Git: Slik fjerner du en fil fra Commit

Denne guiden vil fortelle deg nøyaktig hvordan du sletter en fil fra en commit og hvorfor du bør være ekstra forsiktig med sletting av Git-filer.

Hvordan fjerne en fil fra en Git Commit

Det er noen få måter å slette en fil fra en Git commit, avhengig av om det er en lokal commit eller om du allerede har presset den til en ekstern repo. Den enkle måten ville være å slette hele commit i Git , men hvis du vil holde på de fleste filene, er det slik du kan bruke "git reset" for å slette en fil fra et lokalt depot:

  1. Bruk git log for å finne commit som har filen du vil fjerne.
    Git: Slik fjerner du en fil fra Commit
  2. Utfør git reset –soft HEAD^ for å angre den siste commit, men behold endringene i sceneområdet.
    Git: Slik fjerner du en fil fra Commit
  3. Fjern filen du vil fjerne med git reset HEAD .
    Kjø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. Overfør resten av filene igjen ved å bruke git commit -m 'Din forpliktelsesmelding.'
    Git: Slik fjerner du en fil fra Commit

Siden Git 2.23.0-oppdateringen kan du også bruke "git restore" slik:

  1. Skriv inn git restore –staged og erstatt "filepath" med filen du ønsker å fjerne.
    Utførelse av" 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. Deretter commit: git commit -c ORIG_HEAD .
    Git: Slik fjerner du en fil fra Commit

Et annet alternativ for å fjerne filen fullstendig er å gjøre dette:

  1. Fjern filen med git rm .
    Git: Slik fjerner du en fil fra Commit
  2. Erstatt "filnavn" med filens faktiske navn.
  3. Commit med endringsflagget ved å skrive inn git commit –amend .
    Git: Slik fjerner du en fil fra Commit

Kommandoen "rm" fjerner en fil fra både arbeidstreet og indeksen. Det betyr at den vil være helt borte fra både den lokale og eksterne reposen. Det er en nyttig kommando når du sporer en fil og senere bestemmer deg for at den ikke trenger å spores lenger, slik at du kan slette den fra hele prosjektet.

Du kan også vurdere å slette selve Git-grenen hvis du vil fjerne alle forpliktelser og filer i en gren.

Hvorfor fjerne en fil fra en Git Commit?

Det er flere grunner til at du kanskje må fjerne en fil fra en Git-commit. La oss ta en titt på noen.

Forenkling av forpliktelseshistorikk

I store og komplekse prosjekter kan forpliktelseshistorikken bli overbelastet med endringer, oppdateringer og rettelser. Og noen av disse endringene trenger rett og slett ikke å være der. Noen ganger kan en fil være forpliktet som ikke gjør noen fordeler for prosjektets fremgang eller klarhet – som en eksperimentell funksjon som ikke fant ut eller en midlertidig fil som har overholdt sin velkomst.

Fjerning av slike filer fra commits kan gjøre prosjektets historie betraktelig og gjøre det lettere for teammedlemmer å forstå utviklingstidslinjen. Hvis du er en del av et team, hjelper en klar og kortfattet forpliktelseshistorikk at teammedlemmene dine stemmer overens med prosjektets utvikling og holder dem orientert uten å kaste bort tid på å tyde kompleks kode.

Retting av feil

Å rette feil er kanskje den vanligste årsaken til å fjerne en fil fra en commit i Git. For eksempel kan du ha kommet for sent på et prosjekt, og i all hast har du lagt til en feilsøkingsloggfil i commit-en din. Eller, etter å ha forpliktet deg, innså du at du inkluderte en versjon av en fil som ikke er endelig eller oppdatert, men en eldre WIP. Alternativt kan filen være noe helt uønsket eller skadelig.

I slike situasjoner vil sletting av en fil fra en commit bevare integriteten til commit-historikken og holde den ren fra unødvendige eller potensielt skadelige filer. Du vil sikre at bare det tiltenkte innholdet kommer til det endelige utkastet.

Fjerning av sensitive eller klassifiserte data

Det er enklere enn det kan virke å ved et uhell begå sensitive data. Men det er en feil som kan få alvorlige konsekvenser. For eksempel er API-nøkler en stor del av mange kodeprosjekter i dag, spesielt med fremveksten av AI og mer intens nettintegrering. Men API-nøkler er private og må holdes unna nysgjerrige øyne. Du kan jobbe med en ny funksjon ved å bruke en API og ved et uhell begå en fil som inneholder nøkkelen eller en konfigurasjonsfil med databaselegitimasjon.

Denne typen tilsyn kan forårsake sikkerhetssårbarheter, og potensielt avsløre sensitiv informasjon for uautoriserte personer. I slike scenarier går det å fjerne filen fra commit utover enkel feilretting – det er noe du må gjøre, spesielt hvis du jobber som en del av et team eller for et selskap. Det ligner på å innse at du ved et uhell har delt et konfidensielt dokument i en offentlig mappe og raskt flytte det til et trygt sted.

Betraktninger å huske på

Noen ganger er det ikke så enkelt å slette en fil fra et depot som du ønsker. Unngå disse mulige problemene.

Depotkonflikter

Å fjerne filer fra offentlige eller delte forpliktelser er ikke noe du bør gjøre tilfeldig. Avhengig av filens natur og prosjekttype, kan det frustrere eller forvirre de i teamet ditt betydelig. Dessuten forårsaker det konflikter mellom deres lokale depoter og fjernkontrollen. Så før du sletter en fil, ta en rask prat med teamet ditt og forklar dem hva du gjør og hvorfor.

Dette kan være så enkelt som å sende en melding på teamets chat-plattform eller ta det opp i et stand-up-møte. Denne heads-up handler ikke bare om å være høflig. Det lar teammedlemmene fortsette arbeidet sitt forstyrret. Det åpner også døren for tilbakemelding – kanskje en lagkamerat har en grunn til å beholde den filen i commit, eller kanskje de har en bedre løsning på problemet.

Tapte data

Når du renser depotet ditt, ønsker du ikke å kaste noe som er viktig, spesielt i større prosjekter. Så før du forplikter deg til å slette en fil, ta et sekund, til og med en tredjedel, se på filen du er i ferd med å fjerne.

Spør deg selv: "Inneholder denne filen noen kode, data eller informasjon som kan være nødvendig senere?" Det er som å gå gjennom en gammel mappe på datamaskinen; noen ganger finner du filer som virket uviktige på den tiden, men som har verdi nå. På denne måten vil du ikke havne i en situasjon hvor du febrilsk søker etter en kode eller data som du feilaktig anså som unødvendig før.

Tilbakestilling er bedre for offentlige depoter

Når du arbeider med offentlige depoter, er det ofte bedre å bruke " git revert " som en ikke-destruktiv måte å fjerne noe fra depotet. Den lar deg angre endringer på en gjennomsiktig og sporbar måte som teammedlemmene dine enkelt kan følge.

Hvis du jobber med åpen kildekode-prosjekter eller offentlig samarbeid der endringer kan påvirke et bredt spekter av bidragsytere, holder dette alt klart. Kommandoen "git revert" skaper i hovedsak en ny commit som angrer endringene fra en tidligere uten å endre prosjektets historie. Det viser respekt for andre samarbeidspartnere, og det opprettholder kontinuiteten og integriteten til prosjektets tidslinje. Du retter åpenlyst en feil i et gruppeprosjekt og bevarer alles bidrag. Og prosjektets historie forblir intakt for alle å se og forstå.

Hold Git-historien ryddig

Det er lett ved et uhell å inkludere en fil som ikke har plass i en Git-commit i en Git-commit. Heldigvis er det også enkelt å tilbakestille denne inkluderingen. Avhengig av hva du ønsker, er det forskjellige måter å oppnå dette på. Bare husk å ha teamet ditt i tankene hvis du er et teammedlem, og hold de lokale og eksterne depotene konsekvente.

Har du noen gang ved et uhell inkludert en feil fil i Git commit? Hva var løsningen din? Legg igjen en kommentar nedenfor. Vi er alltid ivrige etter å lese dem.


Slik løser du Bluetooth-problemer på Windows 10

Slik løser du Bluetooth-problemer på Windows 10

Bluetooth lar deg koble Windows 10-enheter og tilbehør til PC-en din uten behov for ledninger. Her er ulike teknikker for å løse Bluetooth-problemer.

Slik sletter du Bing-søkeloggen og Microsoft Edge-loggen og tar kontroll over personvernet ditt

Slik sletter du Bing-søkeloggen og Microsoft Edge-loggen og tar kontroll over personvernet ditt

Lær deg å ta kontroll over personvernet ditt ved å tømme Bing-søkeloggen og Microsoft Edge-loggen med enkle trinn.

10+ beste samarbeidsprogramvare for små bedrifter

10+ beste samarbeidsprogramvare for små bedrifter

Oppdag den beste samarbeidsprogramvaren for små bedrifter. Finn verktøy som kan forbedre kommunikasjon og produktivitet i teamet ditt.

Hvordan holde Teams status aktiv / grønn / online / tilgjengelig?

Hvordan holde Teams status aktiv / grønn / online / tilgjengelig?

Lær hvordan du holder statusen din aktiv i Microsoft Teams. Følg våre trinn for å sikre at du alltid er tilgjengelig for kolleger og kunder.

Den beste prosjektledelsesprogramvaren for småbedrifter

Den beste prosjektledelsesprogramvaren for småbedrifter

Oppdag den beste prosjektledelsesprogramvaren for småbedrifter som kan hjelpe deg med å organisere prosjekter og oppgaver effektivt.

Hvordan gjenopprette siste økt i Microsoft Edge Chrome, Firefox, Internet Explorer

Hvordan gjenopprette siste økt i Microsoft Edge Chrome, Firefox, Internet Explorer

Gjenopprett siste økt enkelt i Microsoft Edge, Google Chrome, Mozilla Firefox og Internet Explorer. Dette trikset er nyttig når du ved et uhell lukker en hvilken som helst fane i nettleseren.

Fire forskjellige måter å slette duplikater i Google Photos

Fire forskjellige måter å slette duplikater i Google Photos

Hvis du har mange duplikater klumpet på Google Photos eller ønsker å eliminere duplikatbilder, så sjekk ut de mange måtene å slette duplikater i Google Photos.

Slik fikser du at Nintendo Switch ikke slår seg på

Slik fikser du at Nintendo Switch ikke slår seg på

Hvordan fikse at Nintendo Switch ikke slår seg på? Her er 4 enkle løsninger for å fikse at Nintendo Switch ikke slår seg på.

Slik tilbakestiller du Gmail-passordet

Slik tilbakestiller du Gmail-passordet

Lær hvordan du tilbakestiller Gmail-passordet ditt enkelt og sikkert. Endre passordet regelmessig for å beskytte kontoen din.

Slik konfigurerer du doble skjermer på Windows 10

Slik konfigurerer du doble skjermer på Windows 10

Lær hvordan du konfigurerer flere skjermer på Windows 10 med denne bloggen. Det være seg to eller tre eller flere skjermer, du kan enkelt sette opp skjermer for spilling eller koding.