Versionieren oder nicht? Was (nicht) in ein Git Repository gehört

Mit über 600 angelegten Projekten ist der GitLab-Dienst an der TU Chemnitz bereits nach knapp über einem Jahr Betriebszeit populärer als der seit 2009 angebotene Subversion-Dienst. Jedem Nutzer stehen erst einmal 300 MB Speicher für Projekte zur Verfügung. Im Regelfall reicht dies für mehrere Jahre Quellcodeentwicklung locker aus. Zum Vergleich: Das Git Repository des Linux-Kernels ist aktuell 1015 MB groß, und dieser wird seit über 20 Jahren von mehreren Tausend Entwicklern entwickelt.

Prinzipiell sollen alle Dateien versioniert werden, die zur Erstellung des gewünschten Endprodukts notwendig sind. Wenn das Endprodukt ein Programm ist, dann gehören dazu Quellcode, Dokumentation, Grafiken und Metadaten für die Build-Infrastruktur. Nicht in die Versionierung gehören Dateien, die vom Compiler/Präprozessor usw. erzeugt werden, also beispielsweise Dateien mit der Endung .o, .dll, .pyc, .aux. Diese Dateien ändern sich in der Regel bei jeder Änderung der Quelldatei und können leicht neu erzeugt werden. Der Prozess lässt sich auch mit Hilfe eines Gitlab CI Runners automatisieren.

Damit man sich nicht bei jedem Commit Gedanken machen muss, welche Dateien versioniert werden sollen, kann man im Projekt eine Datei mit dem Namen .gitignore anlegen. Dort schreibt man Suchmuster für Dateinamen hinein. Diese Muster werden dann beim Commit abgeglichen und werden nicht in der Dateiauswahl angeboten. Übrigens: die .gitignore-Datei sollte unbedingt mit versioniert werden.

Für die Erstellung von .gitignore-Dateien bietet Gitlab übrigens schon viele Templates. In der Weboberfläche kann man eine neue Datei anlegen. Wenn man als Name .gitignore angibt, bekommt man die Templates zur Auswahl. Alternativ finden Sie für viele Programmiersprachen und -entwicklungsumgebungen vorkonfigurierte .gitignore-Dateien bei GitHub. Diese können Sie herunterladen und in Ihr Projekt importieren. Genaue Informationen zum Dateiformat von .gitignore-Dateien finden Sie im der Git-Dokumentation.

Getagged mit: , ,
Veröffentlicht unter Allgemein, Software, Top-Artikel
Ein Kommentar auf “Versionieren oder nicht? Was (nicht) in ein Git Repository gehört
  1. Benedikt Geißler sagt:

    Eine weitere Möglichkeit, vorgefertigte .gitignore-Dateien zu erstellen, ist übrigens https://gitignore.io. Da kann man sogar mehrere Programmiersprachen und Programme angeben und erhält eine dementsprechend konkatenierte Datei.

Schreibe einen Kommentar