Visual Studio produziert einige Dateien, welche man nicht in sein Source Control System haben sollte: Zum einen sind es Dateien, welche vom Betriebssystem automatisch erstellt werden (Thumbs.db), von diversen Tools (Resharper ahoi!) oder auch den lokalen Build-Output.
Da ich gerade etwas mit Git experimentiere, hier mal meine Erkenntnisse (bei Denkfehlern meinerseits bitte einfach einen Kommentar hinterlassen :) )
Die .gitignore Datei
Über dieses Datei kann man steuern, welche Dateien git tracken soll und welche nicht. Der Aufbau ist eigentlich simpel, aber irgendwie auch etwas konfus (IMHO ;) ).
Meine .gitignore Datei (für meine Demosourcen auf Google Code) :
# Visual Studio Files and security files ###################### *.suo *.user *.cache *.Publish.xml _ReSharper.* # Build Outputs ###################### bin/ obj/ # OS generated files # ###################### Thumbs.db
Der erste Block sind alles User-bezogene Dateien, welche Visual Studio oder Resharper erstellt. Die Build Outputs entferne ich im zweiten Teil und die Thumbs.db fliegt auch weg.
Anlegen der .gitignore Datei in Windows
Windows hat sich beim Anlegen einer “Namenlosen” .gitignore Datei etwas zickig, aber über Notepad++ auch kein Hürde.
Sobald man das File im Stammverzeichnis des Projekts hat, werden überflüssige Dateien nicht mehr eingecheckt.
Wie kann man bereits eingecheckte und getrackte Dateien wieder löschen?
Auf Stackoverflow hab ich mehrere Varianten gefunden, diese hat für mich funktioniert:
git add .gitignore git commit -m "New .gitignore file" git rm -r --cached . git add . git commit -m "Clean checkin"
In diesem Sinne: