Immer wieder mal gibt es Dateien oder ganze Verzeichnisse innerhalb eines Repository die man von der Versionsverwaltung ausschließen möchte. Niemand möchte zum Beispiel die persönlichen Konfigurationsdateien seines Editors (RubyMine) oder die seines Betriebssystems (OS X, Windows) in der Versionsverwaltung des Projektes vorfinden. In der Regel hat jedes Teammitglied seine ganz eigene Vorstellung von der richtigen Konfiguration seiner Entwicklungsumgebung. Aber auch Steuerdateien (Objective-C, oder Dateien die sowieso bei jedem Build neu erzeugt werden (Jekyll, haben im Repository nichts verloren.

Jekyll .gitignore

### Jekyll ###
   _site/
   .sass-cache/

Als Hilfe für die richtige Konfiguration gibt es nette kleine Webseiten wie www.gitignore.io oder www.hgignore.io. Hier finden sich eine Vielzahl von Vorlagen für die gängisten Entwicklungsumgebungen, Projekte, Sprachen oder Frameworks.

Wie Wichtig es ist auch sensible Informationen wie Konfigurationsdateien nicht zu versionieren, zeigen immer wieder Meldungen über private Schlüssel, AWS Zugangstoken oder anderen geheimen Informationen, die nach einem Deployment plötzlich öffentlich einsehbar sind, da sie aus versehen mit in die Versionsverwaltung aufgenommen wurden.

Aber Achtung, die beste .gitignore Konfiguration ist nutzlos, wenn man beim Deployment einfach den kompletten Projekt Ordner auf den Server kopiert, statt mit git pull das Repository auszuchecken.

Wir finden daher, www.gitignore.io oder auch www.hgignore.io ist eine super Idee und sollte jeder nutzen.