web-dev-qa-db-fra.com

Projet .gitignore et Visual Studio: Ignore le répertoire bin/Debug mais pas le répertoire bin/Release

J'ai un projet Visual Studio C # dans un référentiel git. Je veux ignorer le répertoire contenu bin/Debug mais pas le contenu du répertoire bin/Release '. J'ai ajouté bin/Debug à mon fichier .gitignore, mais cela ne semble pas fonctionner - il inclut tout le contenu du répertoire bin. Quelle serait la bonne entrée pour faire cela?

35
Dan Stevens

J'ai résolu ce problème en remplaçant bin/Debug par Debug.

Cela aurait également pour effet d'ignorer le répertoire obj/Debug. Cependant, je souhaite ignorer tout le contenu du répertoire obj. J'ai donc ajouté obj à .gitignore.

0
Dan Stevens

Vous ne devriez rien supprimer. Après avoir ajouté le fichier .gitignore, exécutez cette commande pour vider le cache, puis effectuez une étape et validez à nouveau:

git rm -r . --cached
42
orourkedd

Voici ce que nous avons utilisé récemment: il supprime tous les éléments générés par le resharper et certaines autres choses importantes. Notez que nous ne validons pas notre répertoire de publication, vous ne devez donc pas inclure Release/ dans votre .gitignore, mais pour répondre à votre question, vous devez inclure Debug/.

/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp

METTRE À JOUR

Voici un exemple assez complet de github:

29
Noah

Cela se produit généralement car le fichier .gitignore a été ajouté après la validation des fichiers. Le .gitignore dit à git d’ignorer les fichiers non suivis qui correspondent, une fois que le contenu est validé, l’ignorer ne fonctionnera plus. Une solution consiste à supprimer le dossier bin/debug (manuellement via Explorer/powershell/bash), puis à valider les suppressions. Une fois que cela est fait, les ignores devraient fonctionner comme prévu.

  1. Supprimer des fichiers/dossier
  2. git add -A
  3. git commit
28
Gary.S

Je sais que c’est une vieille question, mais j’ai décidé de partager mon approche qui exclut exactement bin/Debug, bin/Release etc.

*/**/bin/Debug
*/**/bin/Release
*/**/obj/Debug
*/**/obj/Release
10
Evgeny Shmanev

Exécuter la commande suivante a fonctionné pour moi (grâce à "orourkedd"):

git rm -r . --cached

J'ai ajouté manuellement le fichier .gitignore, mais il n'a pas été pris en compte avant l'exécution de cette commande.

Je devais alors m'engager à nouveau et tout bon pour aller maintenant. Les dossiers /bin et /obj sont correctement exclus maintenant.

6
Benjamin RAIBAUD

Cela peut être légèrement hors sujet, mais chaque fois que je commence à créer un nouveau projet, j’utilise habituellement GitIgnore.IO pour créer mon fichier initial gitignore, puis je le tweek à partir de là, selon mes besoins. 

0
Farax

Cela fonctionne pour moi: 

*.exe
*.pdb
*.manifest
*.cache

Si vous utilisez GitHub Desktop comme je l’utilise, vous pouvez simplement cliquer avec le bouton droit de la souris sur le fichier que vous souhaitez exclure ou avec le bouton droit de la souris et exclure par extension:

 enter image description here

Cela générera automatiquement un fichier .gitignore pour vous avec le code ci-dessus. Vous pouvez télécharger GitHub Desktop ici: GitHub Desktop pour Windows 64 bits .

0
Willy David Jr