Slik rengjør du Git og fjerner ikke -sporede filer

Slik rengjør du Git og fjerner ikke -sporede filer

Usporede filer kan rote opp Git -arbeidstreet ditt og ødelegge ting på veien. Noen ganger kan disse filene som ikke er sporet, være tekst eller andre filer du ikke vil ha i det eksterne lagringsstedet, eller de du feilaktig opprettet på en eller annen måte etter at du hadde avtalt en forpliktelse.





Uansett er det alltid nyttig å rengjøre Git -arbeidstreet for å fjerne disse filene.





Hva er usporede filer under en Git Commit?

Hvis du har oppdatert noen eksisterende filer i prosjektet ditt og også lagt til nye filer lokalt, og du ønsker å skyve den oppdateringen til det eksterne depotet ditt på GitHub, krever Git at du gjør disse endringene for commit.





iPhone -spill som ikke bruker data

Bare en oppdatering du gjør av eksisterende filer som du har begått, fjerner dem ikke fra sporede filer.

Når du utfører en oppdatering for commit, blir nye filer også iscenesatt med dem, og Git legger dem til i sporede filer. Nye filer som du legger til i prosjektet ditt etter at du har satt opp forpliktelsen, blir imidlertid ikke sporet.



Dette kan være uviktige eller resterende filer som du midlertidig brukte, eller de som dukker opp på en eller annen måte etter at du har slått sammen eller presset noen endringer. Følgelig lurer disse usporede filene fremdeles rundt arbeidstreet ditt, og når du kjører git -status , Git returnerer dem som usporede filer.

Du kan slette disse filene ved å rengjøre Git -arbeidstreet. Hvis du fortsatt tror at du trenger noen av dem lokalt, kan du legge dem til i .gitignore fil. Filer du legger til .gitignore blir ikke påvirket av oppryddingen, ikke hvis du bestemmer deg for å inkludere dem.





Rengjøring av Git er like enkelt som slette en Git -gren lokalt eller eksternt . La oss se de forskjellige måtene du kan rengjøre Git for å slette usporede filer eller mapper nedenfor.

Slik rengjør du Git og fjerner ikke -sporede filer eller mapper

Før du fjerner sporløse filer, bør du dobbeltsjekke for å sikre at du vil slette dem. For å gjøre det, kjør koden nedenfor:





git clean -d -n

Kommandoen returnerer alle ikke -sporede mapper og filer som Git vil fjerne fra arbeidstreet.

For å fjerne disse filene og katalogene, kjør:

git clean -d -f

Hvis du bare vil fjerne filer uten å slette mapper, bruker du:

git clean -f

Selv om metodene ovenfor ikke fjerner filer som er oppført i .gitignore , kan du bruke kommandoen nedenfor til å rengjøre elementer som er oppført i .gitignore filen også:

git clean -fx

For å fjerne bare ignorerte filer uten å inkludere andre filer, endrer du denne gangen x til en X-bokstav:

git clean -fX

For å sjekke om det fortsatt er ustabiliserte filer i arbeidstreet, kjører du følgende kommando:

git status

Du kan også rengjøre Git interaktivt ved å bruke:

git clean -i

Å inkludere filer i .gitignore i interaktiv rengjøringsmodus, bruk:

git clean -ix

For å rense filer som er oppført i .gitignore bare bruk den interaktive modusen, kjør følgende kommando. Sørg for at du bruker store bokstaver 'X' denne gangen:

git clean -ifX

Når den interaktive modusen kommer opp, kan du velge å filtrere filene etter tall eller strengmønstre. Du kan også velge spør om muligheten til å dobbeltsjekke hver fil før du sletter den. Hvis du vil, kan du velge ren muligheten til å fjerne filene med en gang.

Løping git -status gir deg gjeldende iscenesettelsesinformasjon, og hvis det er ustabiliserte filer eller mapper, gir det deg også beskjed.

Ser du fortsatt fjernede filer som usporet etter å ha kjørt Git Clean?

Etter å ha sjekket Git -statusen, hvis filer du tidligere har fjernet fremdeles vises under delen for usporede filer, bør du imidlertid slette Git -bufferen. Kjør deretter git rent igjen for å fjerne filene.

I slekt: Hvordan klone et depot ved hjelp av GitHub Desktop

Slik sletter du Git -cachen:

git rm -r --cached [filename]

Hvis du har mer enn én fil som fortsatt vises etter rengjøring av Git, bruker du følgende kommando for å slette Git -bufferen for hver fil:

git rm -r --cached [filename1] [filename2] [filename3]...

Sørg imidlertid for at du legger til filtypen for hver av filene og husker å rengjøre Git igjen for å fjerne dem.

Hvorfor trenger du å rense Git for å fjerne filer som ikke er sporet?

Noen ganger vil du rydde opp i Git -arbeidstreet ditt før du forlater et prosjekt for en annen gang. Du vil da sannsynligvis presse eller slå sammen de siste endringene du gjorde i prosjektet for å sikre at du kan plukke opp akkurat der du slapp neste gang.

Men mens du skyver eller slår sammen, kan noen filer du ikke vil ha i depotet, falle inn ved en feiltakelse.

Hvis du ikke sjekker slike filer og fjerner dem, kan det ødelegge det eksterne depotet ditt, ettersom de blir presset neste gang du oppdaterer det eksterne depotet ditt. I tillegg til det kan slike filer bryte ting når de distribueres til plattformer som Heroku som bruker git for distribusjon.

Så: hold Git ren!

Dele Dele kvitring E -post Administrer filversjonen din som en programmerer med Git

Programmerere opprettet versjonskontrollsystemer (VCS) for å løse problemer med filversjonskontroll. La oss se på det grunnleggende om versjonskontroll ved hjelp av det øverste systemet i dag, Git.

Les neste
Relaterte temaer
  • Programmering
  • GitHub
Om forfatteren Idisou Omisola(94 artikler publisert)

Idowu brenner for alt smart teknologi og produktivitet. På fritiden leker han med koding og bytter til sjakkbrettet når han kjeder seg, men han liker også å bryte fra rutinen en gang i blant. Hans lidenskap for å vise folk veien rundt moderne teknologi motiverer ham til å skrive mer.

Mer fra Idowu Omisola

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere