Question .gitignore ne fonctionne pas


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

ma .gitignore:

#this is a comment
debug.log
nbproject/

Sortie de 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)

J'aimerais 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?


1069
2017-07-12 12:09


origine


Réponses:


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 ajoutés .gitignore.

REMARQUE : Commettez d'abord 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"

2249
2017-07-12 12:20



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 parfois peut influencer votre gitignore.
  2. Lorsque vous ajoutez quelque chose dans le fichier .gitignore, en tant que personne ayant répondu cette question d'abord:

    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   pas travailler pour toi. 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.


210
2017-09-03 13:54



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!


131
2017-07-12 12:30



Sans ajouter d'autre commit à votre projet, une ligne suffira à faire .gitignore travailler comme il est censé:

git rm -r --cached debug.log nbproject

Cela l'enlèvera du référentiel tout en le gardant physiquement, en clair, il effacera tout historique des changements qui y sont liés, et ne suivra pas non plus leur changement dans les futurs commit. Une meilleure explication, vous pouvez le trouver ici.


77
2018-03-19 23:40



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

31
2017-12-23 01:48



J'ai remarqué que l'encodage du .gitignore avait un effet - si le fichier était Unicode, il était ignoré, s'il était en ASCII, ce n'était pas le cas.

Processus:

  1. Vérifier l'état: PS> git status
  2. Créer une fonction pour Get-FileEncoding
  3. Tester .gitignorecodage: PS> Get-FileEncoding .gitignore
  4. Changer l'encodage à ASCII: PS> Set-Content .gitignore -Encoding Ascii -Value (Get-Content .gitignore)
  5. Confirmer: PS> git status

27
2017-08-13 21:14



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.


16
2017-11-14 23:13



Toutes les réponses ici sont en fait des solutions de contournement. Vous devez créer le fichier .gitignore AVANT d'exécuter git init, autrement git ne saura jamais que vous devez ignorer ces fichiers, car ils ont déjà été suivis.

echo .idea/ >> .gitignore
git init

Si vous développez quotidiennement, je vous conseille d'ajouter vos fichiers habituels ignorés à votre ~/.gitignore_global fichier. De cette façon, git sait déjà quels fichiers vous (ce qui signifie "votre utilisateur", puisqu'il s'agit d'un fichier dans votre répertoire personnel) sont généralement ignorés.


12
2017-11-25 21:21



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

./myproject/.gitignore

pas dedans

./myproject/.git/.gitignore

11
2017-10-14 06:32