tutorial - ignore gitignore




.gitignore ne fonctionne pas (16)

Comme pour les autres solutions, engagez d'abord et soyez conscient que vous allez perdre tout changement non-engagé.

J'ai eu de meilleurs résultats avec ceci:

git rm -r --cached .
git reset HEAD --hard
git status

notez que le statut ne devrait pas avoir de fichiers modifiés maintenant.

Mon fichier .gitignore semble être ignoré par git - le fichier .gitignore peut-il être corrompu? Quel format de fichier, environnement local ou culture attendez-vous?

Mon .gitignore :

#this is a comment
debug.log
nbproject/

Sortie de l' git status :

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       debug.log
#       nbproject/
nothing added to commit but untracked files present (use "git add" to track)

Je voudrais que debug.log et nbproject/ ne pas apparaître dans la liste des fichiers non suivis.

Où dois-je commencer à chercher pour résoudre ce problème?


Consultez également le répertoire , où vous mettez .gitignore Il devrait être en racine de votre projet :

./myproject/.gitignore

pas dedans

./myproject/.git/.gitignore

Fixé. Ok, j'ai créé le fichier. Gitignore dans le bloc-notes sur Windows et ça ne fonctionnait pas. Quand j'ai vu le fichier .gitignore dans Linux, il ressemblait à du charabia organisé - peut-être que le bloc-notes avait écrit unicode plutôt qu'ascii ou quoi que ce soit en 8 bits.

J'ai donc réécrit le fichier sur ma machine Linux, et quand je l'ai tiré dans les fenêtres, ça marche très bien! Hourra!


Il suffit de supprimer le dossier ou le fichier qui a déjà été engagé dans git en suivant la commande, puis le fichier gitignore reflétera les fichiers corrects.

    git rm -r -f "folder or files insides"

J'ai eu ce problème, avec un .gitignore contenant cette ligne:

lib/ext/

Je viens de réaliser qu'en fait, ce répertoire est un lien symbolique vers un dossier ailleurs:

ls -la lib/ext/
lrwxr-xr-x 1 roipoussiere users 47 Feb  6 14:16 lib/ext -> /home/roipoussiere/real/path/to/the/lib

Sur la ligne lib/ext/ , git recherche un dossier , mais un lien symbolique est un fichier , donc mon dossier lib n'est pas ignoré.

J'ai corrigé ceci en remplaçant lib/ext/ par lib/ext sur mon .gitignore.


J'ai eu le même problème. Je crois que le problème était une divergence CR vs CR + LF. J'ai caché des choses dans mon .gitignore en utilisant cmd (sur Windows 7) et la commande suivante:

Mal:

echo "fichier_to_be_ignored.py" >> .gitignore
echo "* ~" >> .gitignore

Etc.

Le problème était que cette commande ne place pas le marqueur de fin de ligne correct pour que git reconnaisse les nouvelles lignes (CR ou CR + LF quand git attend l'autre). J'ai résolu le problème en remplaçant manuellement chaque nouvelle ligne dans vim (vim à la rescousse!) Et cela a fonctionné parfaitement.

Essayez d'éditer votre .gitignore dans Notepad ++ ou vim (idéalement), même si le fichier semble avoir été formaté correctement, essayez de remplacer les retours à la ligne. Ça a l'air bizarre, je sais, mais ça a marché pour moi. :RÉ


J'avais un petit problème avec ça. J'ai pu aller sur www.GitHub.com/project et supprimer le fichier avec l'interface utilisateur, et ajouter cette modification au repo maître.

On dirait que j'ai ajouté le fichier au repo avant de faire un .gitignore. Cela semble fonctionner.


Je viens de rencontrer ce problème. Le contenu de mon fichier .gitignore a continué à apparaître dans la liste des fichiers non suivis.

Je l'utilisais pour créer le fichier ignoré:

echo "node_modules" > .gitignore

Il s'avère que les doubles citations étaient à l'origine du problème pour moi. J'ai supprimé le fichier ignoré et ensuite utilisé à nouveau la commande sans guillemets et cela a fonctionné comme prévu. Je n'avais pas besoin de jouer avec l'encodage de fichier. Je suis sur une machine Win10 en utilisant Cmder.

Exemple:

echo node_modules > .gitignore


Lorsque le fichier .gitignore ne fonctionne pas (en ajoutant quelque chose dans le fichier .gitignore ou en supprimant quelque chose du fichier .gitignore), vous pouvez vérifier les astuces suivantes:

  1. vous devez faire attention au fichier global gitignore qui peut parfois influencer votre gitignore.
  2. Lorsque vous ajoutez quelque chose dans le fichier .gitignore, en tant que personne ayant répondu à cette question en premier:

    git rm -r --cached .
    git add .
    git commit -m "fixed untracked files"  
    
  1. Lorsque vous supprimez quelque chose du fichier .gitignore. Les étapes ci-dessus ne fonctionneront pas pour vous . Vous pouvez essayer ceci:
    git add -f "filetype"
    git commit -m "Refresh removing filetype from .gitignore file."

le "filetype" désigne le fichier ou le type de fichier que vous voulez supprimer du fichier .gitignore. Vous voulez que le type de fichier soit suivi à nouveau.


Même si vous n'avez pas encore suivi les fichiers, git semble être capable de les "connaître" même après les avoir .gitignore à .gitignore .

NOTE: Commencez par valider vos modifications actuelles, sinon vous les perdrez.

Puis exécutez les commandes suivantes à partir du dossier supérieur de votre repo git:

git rm -r --cached .
git add .
git commit -m "fixed untracked files"


Pour moi, aucune des réponses ci-dessus n'a fonctionné. J'ai dû copier le texte exclude.txt dans le fichier exclude.txt trouvé à

<Your-project-folder>\.git\info

Une fois cela fait, actualisez vos modifications et tous les fichiers non suivis sont partis. Commettre comme d'habitude.


Si vous êtes un utilisateur Notepad ++, essayez d'effectuer les opérations suivantes:

Ouvrez votre fichier .gitignore en utilisant Notepad ++ et faites:

Édition> Conversion EOL> Format Windows> Enregistrer

Essayez de réutiliser le statut git et voyez si cela fonctionne pour vous.

J'ai posté la réponse à une question similaire here .


Spécifiquement pour les utilisateurs Windows: Si vous avez des fichiers Untracked et que l'effacement / suppression des fichiers mis en cache ne fonctionne pas. Essayez d'ouvrir PowerShell et de convertir le fichier .gitignore en encodage UTF-8.

1) $ Myfile = Obtenir-Contenu ..gitignore

2) $ Myfile = | Out-File -Encoding "UTF8" .gitignore

Il suffit de le faire une seule fois pour encoder le fichier .gitignore pour ce répertoire, et comme le fichier est ensuite encodé correctement chaque fois que vous éditez le fichier, il devrait fonctionner. Je crois que cela est dû à un problème avec GitHub n'étant pas sur le point de lire l'encodage non UTF-8 pour un fichier .gitignore. Pour autant que je sache, ce problème n'a pas encore été résolu pour Windows. Pas trop gros, juste une peine à déboguer quand ça ne marche pas.


Une autre cause de ce problème réside dans les espaces ou les onglets vides avant l'instruction:

Exemple:

#Be aware of following:
 notWorkingIgnore.*
workingIgnore.*

Et comme indiqué par le commentaire ci-dessous un espace de fuite peut être aussi un problème

#Be aware of following:
notWorkingIgnore.* #<-Space
workingIgnore.*#<-Nospace

Une chose à regarder aussi, est-ce que vous enregistrez votre fichier .gitignore avec les fins de ligne correctes?

WINDOWS: Si vous l'utilisez dans Windows, l'enregistrez-vous avec les fins de ligne Windows? Tous les programmes ne le font pas par défaut, notepad ++ et de nombreux éditeurs php utilisent par défaut les terminaisons de ligne Linux pour que les fichiers soient compatibles avec le serveur. Un moyen facile de vérifier cela, est d'ouvrir le fichier dans le bloc-notes de Windows. Si tout apparaît sur une ligne, le fichier a été enregistré avec les fins de ligne Linux.

LINUX: Si vous rencontrez des problèmes avec le fichier qui fonctionne dans un environnement Linux. Ouvrez le fichier dans un éditeur tel qu'emacs ou nano. Si vous voyez des caractères non imprimables, le fichier a été enregistré avec les fins de ligne Windows.





gitignore