Bestanden verwijderen van Git Staging Area?

Ik heb wijzigingen aangebracht in sommige van mijn bestanden in mijn lokale repo, en dan deed ik git add -Awaarvan ik denk dat te veel bestanden aan het staginggebied toegevoegd. Hoe kan ik alle bestanden uit het staginggebied verwijderen?

Nadat ik dat doe, doe ik gewoon handmatig git add "filename".


1, Autoriteit 100%

U kunt bestanden uit de index verwijderen met

git reset HEAD -- path/to/file

Net als git add, kunt u bestanden die recursief door map enzovoort kunnen verwijderen, dus om alles tegelijk te zetten, voert u dit uit vanuit de hoofdmap van uw repository:

git reset HEAD -- .

Ook voor toekomstige referentie zal de uitvoer van git statusu de opdrachten vertellen die u moet uitvoeren om bestanden van de ene toestand naar de andere te verplaatsen.


2, Autoriteit 42%

Gebruik

git reset

om alle geënsceneerde bestanden te verenigen.


3, Autoriteit 13%

Als u al een stel ongewenste bestanden hebt gepleegd, kunt u ze en belasteren om ze te markeren als verwijderd (zonder ze daadwerkelijk te verwijderen) met

git rm --cached -r .

--cachedvertelt het om de paden uit de staging en de index te verwijderen zonder de bestanden zelf te verwijderen en -rwerkt op mappen recursief. U kunt dan git addalle bestanden die u wilt volgen.


4, Autoriteit 4%

Nu op v2.24.0 suggereert

git restore --staged .

om bestanden te verwijderen.


5, Autoriteit 4%

U kunt

gebruiken

git reset HEAD

Voeg vervolgens de specifieke bestanden toe met

git add [directory/]filename

6, Autoriteit 2%

Om alle bestanden uit de staging area te verwijderen, gebruik –
git reset
Om een specifiek bestand te verwijderen, gebruik –
git reset "File path"


Antwoord 7

Gebruik het volgende om een specifiek bestand uit het verzamelgebied te verwijderen:

git restore --staged <individual_file>

Of gebruik het volgende om alle bestanden te verwijderen die momenteel gestaged zijn:

git restore --staged .

In je git bash-terminal kun je na het toevoegen van bestanden aan het staging-gebied een git statusuitvoeren en het commando wordt voor je weergegeven boven de huidige gestagede bestanden:


Antwoord 8

Het is heel eenvoudig:

  1. Om de huidige status van een bestand in de huidige map te controleren, of het nu gestaged is of niet:

    git status

  2. Bestanden voorbereiden:

    git add .voor alle bestanden in de huidige map

    git add <filename>voor specifiek bestand

  3. Staging van het bestand ongedaan maken:

    git restore --staged <filename>


Antwoord 9

Zoals vermeld in andere antwoorden, moet u git resetgebruiken. Dit maakt de actie van de git add -Aongedaan.

Opmerking:git resetis gelijk aan git reset --mixedwat dit doet

Reset de index, maar niet de werkboom (d.w.z. de gewijzigde bestanden worden bewaard maar niet gemarkeerd voor vastlegging) en rapporteert wat niet is bijgewerkt. Dit is de standaardactie. [ git reset ]


Antwoord 10

Als ongewenste bestanden zijn toegevoegd aan het staginggebied, maar nog niet toegezegd, zal een eenvoudige reset de taak doen:

$ git reset HEAD file
# Or everything
$ git reset HEAD .

Verwijder alleen niet-gestudeerde wijzigingen in de huidige werkmap, gebruik:

git checkout -- .

11

Gebruik

git reset HEAD

Hiermee wordt alle bestanden uit het staginggebied


12

U kunt het staginggebied op een paar manieren resetten:

  1. RESET-kop en voeg alle benodigde bestanden toe om weer in te checken zoals hieronder:

    git reset HEAD ---> removes all files from the staging area
     git add <files, that are required to be committed>
     git commit -m "<commit message>"
     git push 
    

13

Ik heb al deze methode geprobeerd, maar niemand werkte voor mij. Ik heb het bestand verwijderd met rm -rf .gitVorm de lokale repository en vervolgens opnieuw deed git initen git adden routine-opdrachten toe. Het werkte.

Other episodes