Hoe verwijdert u onbepaalde lokale bestanden uit uw huidige werkboom?
Antwoord 1, Autoriteit 100%
git-clean – Verwijder ongekruide bestanden uit de werkboom
Synopsis
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…
Beschrijving
Reinigt de werkboom door het recursief te verwijderen bestanden die niet onder Version Control zijn, vanaf de huidige directory .
Normaal gesproken worden alleen bestanden onbekend voor Git verwijderd, maar als de optie
-x
is opgegeven, worden genegeerde bestanden ook verwijderd. Dit kan bijvoorbeeld nuttig zijn om alle bouwproducten te verwijderen.Als een optioneel
<path>...
ARGUMENTEN worden gegeven, worden alleen die paden beïnvloed.
Stap 1 is om te laten zien wat wordt verwijderd door de optie -n
te gebruiken:
# Print out the list of files and directories which will be removed (dry run)
git clean -n -d
Clean Step – Pas op: dit zal bestanden verwijderen :
# Delete the files from the repository
git clean -f
- Om mappen te verwijderen, voert u
git clean -f -d
ofgit clean -fd
- Om genegeerde bestanden te verwijderen, voert u
git clean -f -X
ofgit clean -fX
- Om genegeerde en niet-genegeerde bestanden te verwijderen, voert u
git clean -f -X
ofgit clean -fX
Opmerking Het verschil in de behuizing van de X
voor de twee laatste opdrachten.
Als clean.requireForce
is ingesteld op “true” (standaard) in uw configuratie, wat men nodig heeft om op te geven -f
anders zal er niets daadwerkelijk gebeuren.
Opnieuw zien git-clean
documentatie voor meer informatie.
Opties
-f
,--force
Als de Git configuratievariabele clean.requireForce is niet ingesteld
false zal git clean weigeren uitgevoerd, tenzij bepaalde-f
-n
of-i
.
-x
Gebruik niet de standaard te negeren gelezen van .gitignore (per regels
directory) en$GIT_DIR/info/exclude
, maar nog steeds gebruik maken van de te negeren
Regels gegeven met-e
opties. Dit maakt het verwijderen van alle ongevolgde bestanden,
inclusief build producten. Dit kan worden gebruikt (eventueel samen
met git reset) om een ongerepte werkmap om een schone testen creëren
build.
X
Verwijder alleen bestanden genegeerd door Git. Dit kan nuttig zijn om te herbouwen
alles vanaf nul, maar houd handmatig aangemaakte bestanden.
-n
,--dry-run
Do eigenlijk niets te verwijderen, gewoon laten zien wat er zou gebeuren.
-d
Verwijder niet-gesraceerde directories naast niet-gesraceerde bestanden. Als een
untracked directory wordt beheerd door een ander Git repository, is het
standaard niet verwijderd. Gebruik-f
optie twee keer na als je echt wilt
Verwijder een dergelijke map.
Antwoord 2, gezag 12%
Gebruik git clean -f -d
om ervoor te zorgen dat de mappen worden ook verwijderd.
-
Do eigenlijk niets te verwijderen, gewoon laten zien wat er zou gebeuren.
git clean -n
en
git clean --dry-run
-
Verwijder niet-bijgehouden mappen naast niet-bijgehouden bestanden. Als een niet-getrackte map wordt beheerd door een andere Git-repository, wordt deze niet standaard verwijderd. Gebruik de optie
-f
twee keer als je zo’n map echt wilt verwijderen.git clean -fd
Je kunt dan controleren of je bestanden echt weg zijn met git status
.
Antwoord 3, autoriteit 6%
Het verbaast me dat niemand dit eerder heeft gezegd:
git clean -i
Dat staat voor interactiveen u krijgt een snel overzicht van wat er gaat worden verwijderd en biedt u de mogelijkheid om de betreffende bestanden op te nemen/uit te sluiten. Over het algemeen nog steeds sneller dan het uitvoeren van de verplichte --dry-run
vóór de echte schoonmaak.
Je moet een -d
erin gooien als je ook voor lege mappen wilt zorgen. Uiteindelijk levert het een mooie alias op:
git iclean
Dat gezegd hebbende, kan het extra vasthouden van interactieve commando’s vermoeiend zijn voor ervaren gebruikers. Tegenwoordig gebruik ik gewoon de reeds genoemde git clean -fd
Antwoord 4, autoriteit 4%
git-clean
– Verwijder niet-getrackte bestanden uit de werkstructuur
Antwoord 5, autoriteit 3%
Eenvoudige manier om niet-getrackte bestanden te verwijderen
Om alle niet-getrackte bestanden te verwijderen, De eenvoudige
manier is om allemaal eerst toe te voegenen de repo opnieuw in te stellenzoals hieronder
git add --all
git reset --hard HEAD
Antwoord 6, autoriteit 3%
Als de untracked directory een eigen git-repository is (bijv. submodule), moet je -f
twee keer gebruiken:
git clean -d -f -f
Antwoord 7, autoriteit 2%
Ik hou van git stash push -u
omdat je ze allemaal ongedaan kunt maken met git stash pop
.
EDIT: ik heb ook een manier gevonden om niet-getrackte bestanden in een stash te tonen (bijv. git show stash@{0}^3
) https://stackoverflow.com/a/12681856/338986
EDIT2: git stash save
is verouderd ten gunste van push
. Bedankt @script-wolf.
Antwoord 8
Dit is wat ik altijd gebruik:
git clean -fdX
Voor een heel groot project wil je het misschien een paar keer uitvoeren.
Antwoord 9
git-cleanis wat je zijn op zoek. Het wordt gebruikt om niet-getrackte bestanden uit de werkboom te verwijderen.
Antwoord 10
Indien nodig om niet-getrackte bestanden uit een bepaalde submap te verwijderen,
git clean -f {dir_path}
En gecombineerde manier om niet-getrackte dir/bestanden en genegeerde bestanden te verwijderen.
git clean -fxd {dir_path}
hierna heb je alleen gewijzigde bestanden in git status
.
Antwoord 11
Verwijder alle extra mappen en bestanden in deze repo + submodules
Hierdoor kom je in dezelfde staat als een verse kloon.
git clean -ffdx
Verwijder alle extra mappen en bestanden in deze repo, maar niet de submodules
git clean -fdX
Extra mappen verwijderen, maar geen bestanden (bijv. build- of logsmap)
git clean -fd
Extra mappen verwijderen + genegeerde bestanden (maar niet nieuw toegevoegde bestanden)
Als het bestand niet is genegeerd en nog niet is ingecheckt, blijft het staan. Let op de hoofdletter X.
git clean -fdX
nieuwe interactieve modus
git clean
Antwoord 12
git clean -fd
Verwijdert de map
git clean -fX
Verwijdert genegeerde bestanden
git clean -fX
Verwijdert genegeerde en niet-genegeerde bestanden
kan alle bovenstaande opties in combinatie worden gebruikt als
git clean -fdXx
Controleer GIT-handleiding voor meer hulp
Antwoord 13
OK, verwijderen Ongewenste ongewenste bestanden en mappen zijn eenvoudig met git
in opdrachtregel, doe het gewoon als dit:
git clean -fd
Dubbele controle voordat u het doet, want het zal de bestanden en mappen verwijderen zonder enige geschiedenis te maken …
Ook in dit geval, -f
staat voor geweld en -d
staat voor directory …
Dus, als u alleen bestanden wilt verwijderen, kunt u -f
alleen gebruiken:
git clean -f
Als u Verwijder wilt (Mappen) en bestanden, kunt u alleen niet-gesraceerde mappen en bestanden zoals deze verwijderen:
git clean -fd
Ook kunt u -x
Vlag gebruiken voor het opnemen van de bestanden die worden genegeerd door Git. Dit zou nuttig zijn als u alles wilt verwijderen.
en het toevoegen van -i
vlag, maakt Git je om toestemming voor het verwijderen van bestanden één voor één onderweg.
Als u niet zeker bent en de dingen eerst wilt controleren, voeg dan -n
vlag toe.
Gebruik -q
Als u geen rapport na succesvolle verwijdering wilt zien.
Ik maak ook de afbeelding hieronder om het memorabeler te maken, vooral heb ik veel mensen gezien verwarren -f
voor het reinigen van map soms of mix het op een of andere manier!
Antwoord 14
Een betere manier is om: git clean te gebruiken
git clean -d -x -f
Hiermee worden niet-getrackte bestanden verwijderd, inclusief mappen (-d)
en bestanden die worden genegeerd door git (-x)
.
Vervang ook het argument -f
door -n
om een dry-run
of -i
uit te voeren voor interactieve modus en het zal u vertellen wat er zal worden verwijderd.
Antwoord 15
Gebruikersinteractieve benadering:
git clean -i -fd
Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/arsdumpgenerator/s3/ [y/N]? y
-i voor interactief
-f voor kracht
-d voor directory
-x voor genegeerde bestanden (voeg toe indien nodig)
Opmerking:Voeg -nof –dry-runtoe om te controleren wat het zal doen.
Antwoord 16
Een lifehack voor zo’n situatie die ik zojuist heb uitgevonden en geprobeerd (die perfect werkt):
git add .
git reset --hard HEAD
Pas op!Zorg ervoor dat u de nodige wijzigingen doorgeeft(zelfs in niet-niet-getrackte bestanden) voordat u dit uitvoert.
Antwoord 17
Voor mij werkte alleen het volgende:
git clean -ffdx
In alle andere gevallen kreeg ik het bericht “Skipping Directory”voor sommige subdirectories.
Antwoord 18
git clean -f -d -x $(git rev-parse --show-cdup)
Vraagt schoon in de hoofddirectory, ongeacht waar u het binnen een repository-directory-boom noemt. Ik gebruik het de hele tijd omdat het je niet dwingt om de map te verlaten waar je nu werkt en toestaat om schoon te maken & amp; Gegaan vanaf de plaats waar u bent.
Zorg ervoor dat vlaggen -f
, -d
, -x
PACOME aan uw behoeften:
-d
Remove untracked directories in addition to untracked files. If an
untracked directory is managed by a different Git repository, it is
not removed by default. Use -f option twice if you really want to
remove such a directory.
-f, --force
If the Git configuration variable clean.requireForce is not set to
false, git clean will refuse to delete files or directories unless
given -f, -n or -i. Git will refuse to delete directories with .git
sub directory or file unless a second -f is given. This affects
also git submodules where the storage area of the removed submodule
under .git/modules/ is not removed until -f is given twice.
-x
Don't use the standard ignore rules read from .gitignore (per
directory) and $GIT_DIR/info/exclude, but do still use the ignore
rules given with -e options. This allows removing all untracked
files, including build products. This can be used (possibly in
conjunction with git reset) to create a pristine working directory
to test a clean build.
Er zijn andere vlaggen, ook beschikbaar, controleer gewoon git clean --help
.
Antwoord 19
Als u de bestanden als niet opgenomen door ‘gitstatus’ wilt verwijderen
git stash save -u
git stash drop "stash@{0}"
Ik geef de voorkeur aan dit om ‘schoon’ te ‘git’ omdat ‘Git Clean’ bestanden zal verwijderen
genegeerd door git, dus je volgende build moet alles opnieuw opbouwen
en je kunt ook je IDE-instellingen kwijtraken.
Antwoord 20
Ontraceerde bestanden verwijderen:
git add .
git reset --hard HEAD
Antwoord 21
Om te weten wat er wordt verwijderd voordat het daadwerkelijk wordt verwijderd:
git clean -d -n
Het zal iets opleveren als:
Zou sample.txt verwijderen
Om alles in de uitvoer van de vorige opdracht te verwijderen:
git clean -d -f
Het zal iets opleveren als:
Sample.txt verwijderen
Antwoord 22
Wees voorzichtig bij het uitvoeren van het `git clean` commando.
Gebruik altijd-n
voordat u het daadwerkelijke commando uitvoert, omdat het u laat zien welke bestanden verwijderd zouden worden.
git clean -n -d
git clean -f -d
Standaard verwijdert git clean
alleen niet-getrackte bestanden die niet worden genegeerd. Elk bestand dat overeenkomt met een patroon in uw .gitignore of andere negeerbestanden zal niet worden verwijderd. Als je die bestanden ook wilt verwijderen, kun je een -x
toevoegen aan het clean-commando.
git clean -f -d -x
Er is ook een interactieve modus beschikbaar -i
met de opdracht clean
git clean -x -i
Alternatief
Als je er niet 100% zeker van bent dat het verwijderen van je niet-toegewezen werk veilig is, kun je in plaats daarvan stashing gebruiken
git stash --all
Het zal ook je directory wissen, maar het geeft je de flexibiliteit om de bestanden op elk moment op te halen met behulp van stashmet applyof pop. Als je het goed vindt om je opgeslagen bestanden te verwijderen, kun je het volgende uitvoeren:
git stash drop // or clean
Om volledige instructie te zien over het werken met Stash Zie deze Hoe een stash noemen en ophalen op naam in Git?
Antwoord 23
Om de niet-uitgestrekte bestanden te verwijderen, moet u de opdracht voor het eerst gebruiken om de bestanden te bekijken die worden beïnvloed door reiniging
git clean -fdn
Hiermee wordt de lijst met bestanden weergegeven die worden verwijderd. Nu om die bestanden daadwerkelijk te verwijderen, gebruikt u deze opdracht:
git clean -fd
Antwoord 24
Uggested Command voor Ontracked-bestanden verwijderen van Git Docs is Git Clean
Git Clean – Verwijder niet-gesraceerde bestanden uit de werkboom
Aanbevolen methode: Interatieve modus met behulp van git clean -i
Dus we kunnen er controle over hebben. Laat de resterende beschikbare opties zien.
Beschikbare opties:
git clean
-d -f -i -n -q -e -x -X (can use either)
Uitleg:
1. -D
Verwijder niet-gesraceerde directories naast niet-gesraceerde bestanden. Als een niet-uitgestrekte map wordt beheerd door een andere git-repository,
het wordt standaard niet verwijderd. Gebruik -F-optie twee keer als u zo’n map echt wilt verwijderen.
2. -f, – bevredigen
Als de GIT-configuratie-variabele clean.requireforce niet is ingesteld op FALSE, zal Git Clean weigeren te rennen tenzij gegeven -F, -N of
-I.
3. -I, –interactive
Toon wat er interactief zou worden gedaan en schone bestanden. Zie “Interactieve modus” voor details.
4. -n, – draaien-run
Verwijder niet echt iets, laat gewoon zien wat er zou gebeuren.
5. -Q, –Ciet
Wees stil, rapporteer alleen fouten, maar niet de bestanden die succesvol zijn verwijderd.
6. -e , –exclude=
Naast de patronen die gevonden worden in .gitignore (per directory) en $GIT_DIR/info/exclude, beschouw deze patronen ook als
set van de negeerregels die van kracht zijn.
7. -x
Gebruik niet de standaard negeerregels die worden gelezen uit .gitignore (per directory) en $GIT_DIR/info/exclude, maar gebruik nog steeds de negeerregels
regels gegeven met -e opties. Hierdoor kunnen alle niet-getrackte bestanden worden verwijderd, inclusief buildproducten. Dit kan worden gebruikt (eventueel in
combinatie met git reset) om een ongerepte werkmap te maken om een schone build te testen.
8. -X
Verwijder alleen bestanden die door Git zijn genegeerd. Dit kan handig zijn om alles vanaf het begin opnieuw op te bouwen, maar houd handmatig gemaakte bestanden.
Antwoord 25
Normaal git clean
commando verwijdert geen niet-getrackte bestanden met mijn git version 2.9.0.windows.1
.
$ git clean -fdx # doesn't remove untracked files
$ git clean -fdx * # Append star then it works!
Antwoord 26
git clean -f to remove untracked files from working directory.
Ik heb hier een aantal basisprincipes behandeld in mijn blog, git-intro-basic-commands
Antwoord 27
We kunnen eenvoudig lokale niet-getrackte bestanden uit de huidige git-werkboom verwijderen door onderstaande git-opmerkingen te gebruiken.
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
Voorbeeld:
git reset --hard HEAD
Links:
- https://git-scm.com/docs/git-reset
- Hoe gebruik ik ‘git reset –hard HEAD’ om terug te keren naar een eerdere commit?
- Reset de lokale repository-vertakking naar gewoon zoals externe repository HEAD
- https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html
Antwoord 28
Ruim de git-repository en alle submodules recursief op
Het volgende commando zal opschonen
de huidige git-repository en al zijn submodules recursief:(git clean -d -x -f && git submodule foreach --recursive git clean -d -x -f)
Antwoord 29
git clean -f
verwijdert de niet-getrackte bestanden van de huidige git
git clean -fd
wanneer u mappen en bestanden wilt verwijderen, worden alleen niet-bijgehouden mappen en bestanden verwijderd
Antwoord 30
git add --all
, git stash
en git stash drop
, probeer deze drie commando’s in deze volgorde om alle niet-getrackte bestanden te verwijderen . Door al die niet-bijgehouden bestanden aan git toe te voegen en ze te stashen, worden al die niet-bijgehouden bestanden naar de stashlijst verplaatst en valt de bovenste weg, d.w.z. stash@{0} zal de opgeslagen wijzigingen uit de stashlijst verwijderen.