J'ai commis des charges de fichiers que je veux maintenant ignorer. Comment puis-je dire à git d'ignorer maintenant ces fichiers lors des futures validations?
EDIT: Je veux également les supprimer du référentiel. Ce sont des fichiers créés après la construction ou pour la prise en charge d'outils spécifiques à l'utilisateur.
Réponses:
.gitignore
pour correspondre au fichier que vous souhaitez ignorergit rm --cached /path/to/file
Voir également:
la source
Après avoir modifié
.gitignore
pour faire correspondre les fichiers ignorés, vous pouvez fairegit ls-files -ci --exclude-standard
pour voir les fichiers qui sont inclus dans les listes d'exclusion; vous pouvez alors fairepour les supprimer du référentiel (sans les supprimer du disque).
Modifier : vous pouvez également l'ajouter en tant qu'alias dans votre fichier .gitconfig afin de pouvoir l'exécuter à tout moment. Ajoutez simplement la ligne suivante sous la section [alias] (modifiez selon les besoins pour Windows ou Mac):
(Le
-r
indicateur inxargs
empêchegit rm
de s'exécuter sur un résultat vide et d'imprimer son message d'utilisation, mais peut uniquement être pris en charge par GNU findutils. D'autres versions dexargs
mai ou peuvent ne pas avoir une option similaire.)Maintenant, vous pouvez simplement taper
git apply-gitignore
votre repo, et il fera le travail pour vous!la source
!
avant git? eh bien ... le mien a travaillé commealias apply-gitignore="git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached"
. tks!for /F "tokens=*" %a in ('git ls-files -ci --exclude-standard') do @git rm --cached "%a"
-r
c'est par défaut et n'est pas accepté par les versions BSD. Alors, enlevez-r
.pour laisser le fichier dans le référentiel mais ignorer les modifications futures:
et pour annuler cela:
pour savoir quels fichiers ont été définis de cette façon:
crédit pour la réponse originale à http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/
la source
git ls-files -ci --exclude-standard -z | xargs -0 git update-index --assume-unchanged
si cela aide.git rm --cached
supprimera le fichier dans le référentiel, ce qui ne répond pas au besoin de quizzer. Je vous remercie. J'apprécie vraiment cela. Votre réponse m'aide beaucoup.Assurez-vous que votre dépôt réel est la dernière version
.gitignore
comme vous le souhaitezgit rm -r --cached .
git add .
puis engagez comme d'habitude
la source
git reset HEAD
(N'oubliez pas de cacher les modifications)Vieille question, mais certains d'entre nous sont en
git-posh
(PowerShell). Voici la solution pour cela:la source
Suivez ces étapes:
Ajouter un chemin au
gitignore
fichierExécutez cette commande
valider les modifications comme d'habitude.
la source