Lernpfad:Einführung in Git/7: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
Zeile 11: Zeile 11:
== Das Format von Git-Repositories ==
== Das Format von Git-Repositories ==


Alle Informationen des {{Git}}-Repositories werden komplett im Projektordner im Unterordner <code>.git</code> gespeichert. Hier befinden sich die verschiedenen Versionen der Projektdateien und alle Informationen zu ''Commits'', die damit zusammenhängen. Allein das Vorhanden sein des <code>.git</code>-Ordners markiert einen Ordner auf der Festplatte als ein {{Git}}-Repository. Entsprechend darfst du diesen Ordner weder löschen, noch manipulieren, da du sonst dein Respository zerstörst. Daher ist der Ordner auch als versteckt markiert.
Alle Informationen des {{Git}}-Repositories werden komplett im Projektordner im Unterordner <code>.git</code> gespeichert. Hier befinden sich die verschiedenen Versionen der Projektdateien und alle Informationen zu ''Commits'', die damit zusammenhängen. Allein das Vorhanden sein des <code>.git</code>-Ordners markiert einen Ordner auf der Festplatte als ein {{Git}}-Repository. Entsprechend darfst du diesen Ordner weder löschen noch manipulieren, da du sonst dein Repository zerstörst. Daher ist der Ordner auch als versteckt markiert.


Der <code>.git</code> Ordner wird also niemals ''commited'', sondern beim ersten Klonen erzeugt. Daher zeigt {{Fork}} ihn nicht an.
Der <code>.git</code>-Ordner wird also niemals ''commited'', sondern beim ersten Klonen erzeugt. Daher zeigt {{Fork}} ihn nicht an.


== Dateien ignorieren ==
== Dateien ignorieren ==


Die <code>.class</code> und <code>.ctxt</code> Dateien gehören nicht zu {{Git}}, sondern sie werden von {{BlueJ}} beim Kompilieren des Projekts erzeugt. Sie sind also Dateien, die mit der Maschine zusammenhängen, auf der das Projekt ausgeführt wurde. Auf einem anderen Computer würden sie vermutlich nicht funktionieren und müssten erneut durch eine Kompilierung erzeugt werden. Daher ist es sinnvoll, diese Dateien aus der Versionsverwaltung auszuschließen.
Die <code>.class</code> und <code>.ctxt</code> Dateien gehören nicht zu {{Git}}, sondern werden von {{BlueJ}} beim Kompilieren des Projekts erzeugt. Sie sind also Dateien, die mit der Maschine zusammenhängen, auf der das Projekt ausgeführt wurde. Auf einem anderen Computer würden sie vermutlich nicht funktionieren und müssten erneut durch eine Kompilierung erzeugt werden. Daher ist es sinnvoll, diese Dateien aus der Versionsverwaltung auszuschließen.
{{Hinweis|Im Repository sollten nur Dateien liegen, die unabhängig vom Computer sind und die nicht automatisch aus den anderen Dateien erzeugt werden können.}}
{{Hinweis|Im Repository sollten nur Dateien liegen, die unabhängig vom Computer sind und die nicht automatisch aus den anderen Dateien erzeugt werden können.}}


Für diesen Zweck gibt es die <code>.gitignore</code> Datei im Respository-Ordner. Verschieb die Datei zum Testen aus dem Ordner an einen anderen Ort. Öffne dann {{Fork}} und schau dir erneut die "Local Changes" an.  
Für diesen Zweck gibt es die <code>.gitignore</code> Datei im Repository-Ordner. Verschieb die Datei zum Testen aus dem Ordner an einen anderen Ort. Öffne dann {{Fork}} und schau dir erneut die "Local Changes" an.  


Wie du siehst, werden die fehlenden Dateien jetzt als "neu" erkannt. Außerdem wird die <code>.gitignore</code> Datei als "gelöscht" angezeigt. Im Gegensatz zum <code>.git</code>-Ordner ist sie also im Respository gespeichert und ganz normal versioniert.  
Wie du siehst, werden die fehlenden Dateien jetzt als "neu" erkannt. Außerdem wird die <code>.gitignore</code> Datei als "gelöscht" angezeigt. Im Gegensatz zum <code>.git</code>-Ordner ist sie also im Repository gespeichert und ganz normal versioniert.  


Verschieb die <code>.gitignore</code> wieder in den Projektordner und öffne sie in einem Texteditor. Die Struktur der Datei ist leicht zu verstehen.  
Verschieb die <code>.gitignore</code> wieder in den Projektordner und öffne sie in einem Texteditor. Die Struktur der Datei ist leicht zu verstehen.