Vraag Negeer bestanden die al zijn toegewezen aan een Git-repository [dupliceren]


Deze vraag heeft hier al een antwoord:

Ik heb een al geïnitialiseerde Git-repository die ik heb toegevoegd .gitignore bestand naar. Hoe kan ik de bestandsindex vernieuwen zodat de bestanden die ik wil negeren worden genegeerd?


2189
2017-07-16 19:26


oorsprong


antwoorden:


Om een ​​untrack op te heffen single bestand dat al is toegevoegd / geïnitialiseerd in uw repository, d.w.z., stop met het volgen van het bestand maar verwijder het niet van uw systeemgebruik: git rm --cached filename

Om te untrack elk bestand dat nu in uw staat .gitignore:

Leg eerst eventuele openstaande codewijzigingen vasten voer vervolgens deze opdracht uit:

git rm -r --cached .

Hiermee verwijdert u alle gewijzigde bestanden van de inhoudsopgave(staging area), voer dan gewoon uit:

git add .

Bega het:

git commit -m ".gitignore is now working"

Ongedaan maken git rm --cached filename, gebruik git add filename.

Zorg ervoor dat u al uw belangrijke wijzigingen vastlegt voordat u begint git add .    Anders gaan alle wijzigingen in andere bestanden verloren.


3656
2017-07-06 17:09



Als u wijzigingen in een bestand probeert te negeren die al in de repository zijn bijgehouden (bijvoorbeeld een dev.properties-bestand dat u voor uw lokale omgeving zou moeten wijzigen, maar deze wijzigingen nooit wilt bekijken) dan wat u wilt doen is:

git update-index --assume-unchanged <file>

Als u wijzigingen opnieuw wilt bijhouden

git update-index --no-assume-unchanged <file>

Zien git-update-index (1) Handmatige pagina.

Bekijk ook de skip-worktree en no-skip-worktree opties voor update-index als dit nodig is om door te gaan na een git-reset (via)


Bijwerken: Zoals mensen hebben gevraagd, is hier een handige (en bijgewerkte sinds becommentarieerde hieronder) alias voor het zien van welke bestanden momenteel worden "genegeerd" (-assume-unchanged) in uw lokale werkruimte

$ git config --global alias.ignored = !git ls-files -v | grep "^[[:lower:]]"

518
2017-09-14 23:55



Om een ​​bestand dat al is toegevoegd / geïnitialiseerd naar uw repository te verwijderen, bijv. Stoppen met het volgen van het bestand maar niet verwijderen van uw systeemgebruik: git rm --cached filename


351
2017-07-18 08:15



Ja - .gitignore systeem negeert alleen bestanden die momenteel niet onder versiebeheer staan ​​vanuit git.

D.w.z. als je al een bestand hebt toegevoegd met de naam test.txt gebruik makend van git-add, dan toevoegen test.txt naar .gitignore zal nog steeds veranderingen veroorzaken test.txt om te worden gevolgd.

Je zou moeten git rm test.txt eerst en commit die verandering. Alleen dan zullen wijzigingen in test.txt genegeerd worden.


78
2018-02-02 15:59



Verwijder trailing spaties in .gitignore

Zorg er ook voor dat er geen speling is in uw .gitignore. Ik kreeg deze vraag omdat ik op zoek was naar een antwoord, en toen had ik een grappig gevoel dat ik de editor zou moeten openen in plaats van alleen .gitignore te cateren. Een enkele extra spatie verwijderd van het einde en mietje het werkt nu :)


50
2017-07-15 07:22



ik volgde deze stappen

git rm -r --cached .
git add .
git reset HEAD

daarna verwijder je alle bestanden (* .swp in mijn geval) die zouden moeten negeren.


40
2018-03-02 09:00



Als u het trackingbestand wilt stoppen zonder het bestand van uw lokale systeem te verwijderen, wat ik liever negeer config/database.yml het dossier. Gewoon proberen:

git rm --cached config/database.yml
# this will delete your file from git history but not from your local system.

voeg dit bestand nu toe aan .gitignorebestand en de wijzigingen doorvoeren. En vanaf nu zullen wijzigingen in config / database.yml niet worden gevolgd door git.

$ echo config/database.yml >> .gitignore

Bedankt


37
2017-08-21 14:20



Om slechts een paar specifieke bestanden te verwijderen die kunnen worden gevolgd:

git update-index --assume-unchanged path/to/file

Als u ooit opnieuw wilt beginnen met het volgen ervan:

git update-index --no-assume-unchanged path/to/file                      

28
2018-04-17 07:21