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?
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
.
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
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:
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.
git add -A
git commit
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
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.
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.
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:
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 .