Vraag Hoe verwijder je lokale (niet-track) bestanden uit de huidige Git-werkboom?


Hoe verwijder je niet-traceerde lokale bestanden uit je huidige werkboom?


5776
2017-09-14 09:06


oorsprong


antwoorden:


Volgens de Git-documentatie git schoon

Verwijder niet-gevonden bestanden uit de werkstructuur


Stap 1 is om te laten zien wat er wordt verwijderd met behulp van de -n keuze:

git clean -n

Schone stap - let op: dit zal bestanden verwijderen:

git clean -f
  • Om mappen te verwijderen, uitvoeren git clean -f -d of git clean -fd
  • Om genegeerde bestanden te verwijderen, voer git clean -f -X of git clean -fX
  • Om genegeerde en niet-genegeerde bestanden te verwijderen, voer git clean -f -x of git clean -fx

Notitie het verschil in zaak op de X voor de laatste twee opdrachten.

Als clean.requireForce is ingesteld op "true" (de standaard) in uw configuratie, moet u opgeven -f anders gebeurt er niets.

Zie opnieuw de git-clean documenten voor meer informatie.

opties

-f

--dwingen

Als de Git-configuratievariabele clean.requireForce niet is ingesteld op false, weigert git clean om te worden uitgevoerd, tenzij gegeven -f, -n of -i.

-X

Gebruik niet de standaard negeerregels gelezen uit .gitignore (per map) en $ GIT_DIR / info / exclude, maar gebruik nog steeds de negeerregels gegeven met -e opties. Hiermee kunt u alle niet-gerangschikte bestanden verwijderen, inclusief build-producten. Dit kan worden gebruikt (mogelijk in combinatie met git reset) om een ​​ongerepte werkdirectory te maken om een ​​schone build te testen.

-X

Verwijder alleen bestanden die door Git zijn genegeerd. Dit kan handig zijn om alles opnieuw op te bouwen, maar om handmatig gemaakte bestanden te behouden.

-n

--dry-run

Niets echt verwijderen, gewoon laten zien wat er zou gebeuren.

-d

Verwijder niet-traceerde mappen naast niet-gevonden bestanden. Als een niet-traceerde directory wordt beheerd door een andere Git-repository, wordt deze niet standaard verwijderd. Gebruik -f optie twee keer als u een dergelijke map echt wilt verwijderen.


7589
2018-05-26 20:59



Gebruik git clean -f -d om ervoor te zorgen dat directories zijn ook verwijderd.

U kunt dan controleren of uw bestanden echt weg zijn git status.


813
2017-12-30 20:12



Het verbaast me dat niemand dit eerder heeft genoemd:

git clean -i

Dat staat voor interactieve en u krijgt snel een overzicht van wat er wordt verwijderd en biedt u de mogelijkheid om de betreffende bestanden op te nemen / uit te sluiten. Over het algemeen nog steeds sneller dan het verplichten van de verplichte --dry-run voor de echte reiniging.

Je moet gooien in een -d als je ook voor lege mappen wilt zorgen. Aan het einde zorgt het voor een leuk alias:

git iclean

Dat gezegd hebbende, het extra in de hand houden van interactieve commando's kan vermoeiend zijn voor ervaren gebruikers. Tegenwoordig gebruik ik alleen het al genoemde git clean -fd 


396
2017-09-14 09:09



git-clean - Verwijder niet-gevonden bestanden uit de werkstructuur


387
2018-01-25 12:24



Als untracked directory een git repository van zijn eigen is (bijvoorbeeld submodule), moet je gebruiken -f tweemaal:

git clean -d -f -f


199
2018-06-03 12:16



Eenvoudige manier om niet-opgeslagen bestanden te verwijderen

Om alle niet-gevonden bestanden te verwijderen, is het eenvoudig   manier is om voeg ze allemaal eerst toe en reset de repozoals hieronder

git add --all
git reset --hard HEAD


143
2018-01-11 00:41



ik hou van git stash save -u omdat je ze allemaal kunt ongedaan maken git stash pop.

EDIT: Ik vond ook een manier om niet-gevonden bestanden in een voorraad (bijv. git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986


117
2017-11-25 14:16



Dit is wat ik altijd gebruik:

git clean -fdx

Voor een heel groot project wil je het misschien een paar keer gebruiken.


92
2017-09-14 09:08



git-clean is wat je zoekt. Het wordt gebruikt om niet-gevonden bestanden uit de werkstructuur te verwijderen.


83
2017-09-24 06:28



Indien nodig om niet-gevonden bestanden uit een bepaalde submap te verwijderen,

git clean -f {dir_path}

En gecombineerde manier om niet-traceerde mappen / bestanden en genegeerde bestanden te verwijderen.

git clean -fxd {dir_path}

Hierna hebt u alleen gewijzigde bestanden in git status.


71
2018-01-22 06:33