ma .gitignore
fichier ne fonctionne pas pour une raison quelconque, et aucune quantité de Google n'a pu le réparer. Voici ce que j'ai:
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
C'est dans le répertoire master
, qui est mon dépôt git. J'utilise Git 1.8.4.2 parce que je suis sur un MacBook exécutant OSX 10.8.6.
/bin/
dossier s'affiche toujours lorsque je fais ungit status
. Je n'ai pas modifié ces fichiers depuis que j'ai ajouté le.gitignore
Réponses:
Les fichiers / dossiers de votre contrôle de version ne se supprimeront pas simplement parce que vous les avez ajoutés au
.gitignore
. Ils sont déjà dans le référentiel et vous devez les supprimer. Vous pouvez simplement le faire avec ceci:( N'oubliez pas de valider tout ce que vous avez changé avant de le faire. )
Cela supprime tous les fichiers du référentiel et les ajoute à nouveau (en respectant cette fois les règles de votre
.gitignore
).la source
git ignore path/file
à tout moment.Pour décompresser un seul fichier qui a déjà été ajouté / initialisé dans votre référentiel, c'est-à-dire, arrêtez de suivre le fichier mais ne le supprimez pas de votre utilisation du système:
git rm --cached filename
Pour dépister tous les fichiers qui se trouvent maintenant dans votre
.gitignore
:Commencez par valider toutes les modifications de code en suspens, puis exécutez cette commande:
Cela supprime tous les fichiers modifiés de l'index (zone de transit), puis exécutez simplement:
Engagez-le:
la source
Après être descendu un peu dans un terrier de lapin en essayant de suivre les réponses à cette question (peut-être parce que je devais le faire dans un projet de studio visuel), j'ai trouvé que le chemin le plus facile était de
Coupez et collez le ou les fichiers que je ne souhaite plus suivre dans un emplacement temporaire
Validez la «suppression» de ces fichiers
Valider une modification de
.gitignore
pour exclure les fichiers que j'avais temporairement déplacésRemettez les fichiers dans le dossier.
J'ai trouvé que c'était la façon la plus simple de s'y prendre (au moins dans un studio visuel, ou je suppose que d'autres environnements basés sur le soulèvement IDE comme Android Studio), sans me tirer accidentellement dans le pied avec un assez omniprésent
git rm -rf --cached .
, après quoi le projet de studio visuel sur lequel je travaillais n'a pas été chargé.la source
Dans mon cas, c'était un espace vide au début du fichier qui apparaissait clairement lorsque j'ai ouvert le fichier dans le Bloc-notes, ce n'était pas évident dans Visual Studio Code.
la source
J'ai utilisé quelque chose pour générer du commun
.gitignore
pour moi et je suis tombé dessus. Après avoir lu la réponse @Ozesh, j'ai ouvert dans VS Code car il a un bon indicateur en bas à droite indiquant le type de fins de ligne. C'était LF donc j'ai converti en CRLF comme suggéré mais pas de dés.Ensuite, j'ai regardé à côté des fins de ligne et j'ai remarqué qu'il a été enregistré en utilisant UTF16. J'ai donc réenregistré en utilisant UTF8 encodant un voila, cela a fonctionné. Je ne pensais pas que le CRLF importait, alors je l'ai changé pour LF pour être sûr et cela fonctionnait toujours.
Bien sûr, ce n'était pas un problème de PO, car il avait déjà validé les fichiers, ils étaient donc déjà indexés, mais pensait que je partagerais au cas où quelqu'un d'autre tomberait dessus.
TLDR ; Si vous n'avez pas encore validé les fichiers et que .gitignore n'est toujours pas respecté, vérifiez l'encodage des fichiers et assurez-vous que son UTF8 et si cela ne fonctionne pas, essayez peut-être de jouer avec les fins de ligne.
la source
Dans mon cas, les espaces blancs à la fin des lignes de .gitignore en étaient la cause. Alors faites attention aux espaces blancs dans le .gitignore!
la source
J'ai résolu mon problème en procédant comme suit:
Tout d'abord, je suis un utilisateur Windows, mais j'ai rencontré un problème similaire. Donc, je poste ma solution ici.
Il y a une raison simple pour laquelle parfois le .gitignore ne fonctionne pas comme il est censé le faire. Cela est dû au comportement de conversion EOL.
Voici une solution rapide pour cela
Modifier> Conversion EOL> Format Windows> Enregistrer
Vous pouvez blâmer vos paramètres d'éditeur de texte pour cela.
Par exemple:
Comme je suis développeur Windows, j'utilise généralement Notepad ++ pour éditer mon texte contrairement aux utilisateurs de Vim.
Donc, ce qui se passe, lorsque j'ouvre mon fichier .gitignore à l'aide de Notepad ++, il ressemble à ceci:
Si j'ouvre le même fichier en utilisant le bloc-notes par défaut, voici ce que j'obtiens
Donc, vous avez peut-être déjà deviné en regardant la sortie. Tout dans le .gitignore est devenu une ligne unique, et comme il y a un ## au début, cela fait comme si tout était commenté.
La solution est simple: ouvrez simplement votre fichier .gitignore avec Notepad ++, puis procédez comme suit
Modifier> Conversion EOL> Format Windows> Enregistrer
La prochaine fois que vous ouvrirez le même fichier avec le bloc-notes par défaut de Windows, tout devrait être correctement formaté. Essayez-le et voyez si cela fonctionne pour vous.
la source
De plus, les commentaires doivent être sur leur propre ligne. Ils ne peuvent pas être mis après une entrée. Donc ça ne marchera pas:
Mais cela fonctionnera:
la source
Ça
git reset --hard
marche pour n'importe qui? Je ne dis pas que c'est une bonne solution, cela a semblé fonctionner la première fois que j'ai essayé.la source
J'ai fait la grande erreur d'éditer mon dockerignore, j'ai très bien fonctionné après avoir trouvé le bon fichier ignorer: p
la source
Ajouter mon bit car c'est une question populaire.
Je ne pouvais pas placer le répertoire .history dans .gitignore car peu importe le combo que j'ai essayé, cela ne fonctionnait tout simplement pas. Windows continue de générer de nouveaux fichiers à chaque sauvegarde et je ne veux pas du tout les voir.
Mais j'ai réalisé que ce n'était que mon environnement de développement personnel sur ma machine. Des choses comme .history ou .vscode sont spécifiques pour moi, donc ce serait bizarre si tout le monde incluait ses propres entrées .gitignore en fonction de l'IDE ou du système d'exploitation qu'ils utilisent.
Donc, cela a fonctionné pour moi, ajoutez simplement ".history" à .git / info / exclude
la source