L'application .gitignore à commis des fichiers
J'ai commis des charges des dossiers que je veux maintenant d'ignorer. Comment puis-je indiquer à git pour l'instant ignorer ces fichiers à partir d'avenir s'engage?
EDIT: je ne veux pas les supprimer à partir du référentiel de trop. Ils sont des fichiers créés après jamais construire ou pour un utilisateur spécifique à la prise en charge des outils.
- double possible de .gitignore fichier n'ignore
- La réponse peut être similaire, mais cette question décrit exactement le problème que j'ai été confronté avec des et à résoudre.
- C'est la réponse qui répond directement à la question titre avec un minimum de modifications à votre repo git: stackoverflow.com/a/26245961/3543437
Vous devez vous connecter pour publier un commentaire.
.gitignore
pour faire correspondre le fichier que vous souhaitez ignorergit rm --cached /path/to/file
Voir aussi:
Après l'édition
.gitignore
de faire correspondre les fichiers ignorés, vous pouvez le fairegit ls-files -ci --exclude-standard
pour voir les fichiers qui sont inclus dans les listes d'exclusion; vous pouvez ensuite fairegit ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
pour les supprimer à partir du référentiel (sans les supprimer du disque).Modifier: Vous pouvez également ajouter un alias dans votre .gitconfig fichier de sorte que vous pouvez exécuter à tout moment vous le souhaitez. Il suffit d'ajouter la ligne suivante dans la section [alias] section:
(Le
-r
drapeau dansxargs
empêchegit rm
de s'exécuter sur un résultat vide et l'impression de son message, mais ne peut être pris en charge par GNU findutils. D'autres versions dexargs
peut ou peut ne pas avoir une option similaire.)Maintenant, vous pouvez simplement taper
git apply-gitignore
dans votre pension, et il va faire le travail pour vous!!
avant de git? 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"
xargs: git : Bad file number
à l'aide de git 1.9.2. À l'aide de SourceTree intégré git fonctionne très bien, pas très bien pourquoi.apply-gitignore= !git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
Ceci est basé sur @Felipe-sabino réponse, mais sans les guillemets et à l'aide d'un!git
soupçon. J'utilise git version 1.8.5.2 (Apple Git-48)-r
est par défaut et n'est pas accepté par les versions BSD. Donc, supprimer-r
.git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
résultats de la commande dansxargs: cannot fork
à moi (sur Windows). Que puis-je faire avec cela?pour conserver le fichier dans le repo, mais ignorent les futures modifications:
et d'annuler cette:
de trouver les fichiers qui ont été mis de cette façon:
de crédit pour l'original de la réponse à
http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/
git ls-files -ci --exclude-standard -z | xargs -0 git update-index --assume-unchanged
si cela aide.Assurez-vous que votre repo est la dernière version
.gitignore
que vous le souhaitezgit rm -r --cached .
git add .
puis engagez-vous comme d'habitude
git reset HEAD
(n'oubliez pas de ranger tous les changements)Vieille question, mais certains d'entre nous sont dans
git-posh
(powershell). C'est la solution pour que:Suivez ces étapes:
Ajouter un chemin d'accès à
gitignore
fichierExécuter cette commande
valider les modifications, comme d'habitude.