Vraag Hoe verwijder ik niet-gestage wijzigingen in Git?


Hoe verwijder ik wijzigingen in mijn werkkopie die niet in de index voorkomen?


3854
2017-09-09 19:33


oorsprong


antwoorden:


Een andere snellere manier is:

git stash save --keep-index

omvatten --include-untracked als je er grondig over wilt zijn.

Daarna kun je die stash laten vallen met een git stash drop commando als je wilt.


2179
2017-09-09 19:39



Voor alle niet-gestapelde bestanden gebruikt u:

git checkout -- .

Gebruik voor een specifiek bestand:

git checkout path/to/file/to/revert

Zorg ervoor dat u de periode aan het einde vermeldt.


4186
2017-09-09 19:37



Het lijkt erop dat de complete oplossing is:

git clean -df
git checkout -- .

git clean verwijdert alle niet-gevonden bestanden (waarschuwing: terwijl het genegeerde bestanden die direct in .gitignore worden vermeld niet zal verwijderen, het kan genegeerde bestanden in mappen verwijderen) en git checkout wist alle niet-gestapte wijzigingen.


1614
2017-08-29 18:28



Hiermee wordt de huidige index voor de huidige map gecontroleerd en worden alle wijzigingen in bestanden uit de huidige map weggegooid.

git checkout .

of deze die alle bestanden uit de index uitcheckt en werkboombestanden overschrijft.

git checkout-index -a -f

273
2018-06-20 10:28



git clean -df

Reinigt de werkboom door bestanden die niet onder versiebeheer vallen recursief te verwijderen, te beginnen met de huidige map.

-d: Verwijder niet-traceerde mappen naast niet-gevonden bestanden

-f: Force (mogelijk niet nodig afhankelijk van clean.requireForce instelling)

Rennen git help clean om de handleiding te zien


210
2017-12-07 13:09



Mijn favoriet is

git checkout -p

Dat laat je selectief chunks terugzetten.

Zie ook:

git add -p

81
2017-10-10 12:31



Omdat er geen antwoord is op de exacte optiecombinatie die ik gebruik, hier is het:

git clean -dfx
git checkout .

Dit is de online helptekst voor de gebruikte git clean opties:

-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 zo'n map echt wilt verwijderen.

-f

Als de Git-configuratievariabele clean.requireForce is niet ingesteld op false, Git clean zal weigeren om bestanden of mappen te verwijderen, tenzij deze worden gegeven -f, -nof -i. Git zal weigeren om mappen te verwijderen binnen de .git submap of bestand, tenzij een seconde -f is gegeven.

-x

Gebruik de negeerregels niet van .gitignore (per map) en $GIT_DIR/info/exclude, maar gebruik nog steeds de negeerregels die zijn opgegeven 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 ​​zuivere werkdirectory te maken om een ​​schone build te testen.

Ook, git checkout . moet worden gedaan in de hoofdmap van de repo.


66
2018-04-28 19:46