Lernpfad:Einführung in Git/7: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 7: | Zeile 7: | ||
[[Datei:Gitea Repository Structure.jpg|center|Dateibaum des Repositories.]] | [[Datei:Gitea Repository Structure.jpg|center|Dateibaum des Repositories.]] | ||
Wenn du in {{ | Wenn du in {{GitHub Desktop}} einen Commit machst, dann werden weder der Ordner, noch diese Dateien bei den Änderungen angezeigt. Du kannst dies prüfen, indem du eine neue Datei mit dem Namen <code>text.txt</code> in deinem Projektordner erstellst. Öffne dann {{GitHub Desktop}} und schau nach, was im Bereich "Changes" angezeigt wird. | ||
== Das Format von Git-Repositories == | == Das Format von Git-Repositories == | ||
Zeile 13: | Zeile 13: | ||
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 Respository 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 | Der <code>.git</code> Ordner wird also niemals commited, sondern beim ersten Klonen erzeugt. Daher zeigt {{GitHub Desktop}} 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 macht es Sinn, diese Dateien aus der Versionsverwaltung auszuschließen. ''Im Repository sollten nur Dateien liegen, die unabhängig vom Computer sind und die nicht automatisch aus den anderen Dateien erzeugt werden können.'' | 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 macht es Sinn, diese Dateien aus der Versionsverwaltung auszuschließen. ''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- | Für diesen Zweck gibt es die <code>.gitignore</code> Datei im Respository-Ordner. Verschieb die Datei einmal aus dem Ordenr an einen anderen Ort. Öffne dann {{GitHub Desktop}} und schau dir erneut die "Changes" an. | ||
Wie du siehst werden die fehlenden Dateien nun als "neu" erkannt. Außerdem wird die <code>.gitignore</code> Datei als "gelöscht" angezeigt. Sie ist also im Respository gespeichert und ganz normal versioniert. | Wie du siehst werden die fehlenden Dateien nun als "neu" erkannt. Außerdem wird die <code>.gitignore</code> Datei als "gelöscht" angezeigt. Sie ist also im Respository gespeichert und ganz normal versioniert. | ||
Zeile 56: | Zeile 56: | ||
test.txt | test.txt | ||
</pre> | </pre> | ||
und speichere die Datei ab. {{ | und speichere die Datei ab. {{GitHub Desktop}} ignoriert nun die von dir erstellte Datei bei allen weitere Commits. |
Version vom 29. August 2021, 13:28 Uhr
Wenn du dein Projekt im Datei-Explorer öffnest, dann siehst du eine ganze Reihe von Dateien, die neu hinzu gekommen sind. Sie haben die Endungen .class
und .ctxt
.
Außerdem enthält das Projekt einen versteckten Ordner mit dem Namen .git
und eine Datei mit dem Namen .gitignore
.
Wenn du in GitHub Desktop einen Commit machst, dann werden weder der Ordner, noch diese Dateien bei den Änderungen angezeigt. Du kannst dies prüfen, indem du eine neue Datei mit dem Namen text.txt
in deinem Projektordner erstellst. Öffne dann GitHub Desktop und schau nach, was im Bereich "Changes" angezeigt wird.
Das Format von Git-Repositories
Alle Informationen des Git-Repositories werden komplett im Projektordner im Unterordner .git
gespeichert. Hier befinden sich die verschiedenen Versionen der Projektdateien und alle Informationen zu Commits, die damit zusammenhängen. Allein das Vorhanden sein des .git
-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.
Der .git
Ordner wird also niemals commited, sondern beim ersten Klonen erzeugt. Daher zeigt GitHub Desktop ihn nicht an.
Dateien ignorieren
Die .class
und .ctxt
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 macht es Sinn, diese Dateien aus der Versionsverwaltung auszuschließen. 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 .gitignore
Datei im Respository-Ordner. Verschieb die Datei einmal aus dem Ordenr an einen anderen Ort. Öffne dann GitHub Desktop und schau dir erneut die "Changes" an.
Wie du siehst werden die fehlenden Dateien nun als "neu" erkannt. Außerdem wird die .gitignore
Datei als "gelöscht" angezeigt. Sie ist also im Respository gespeichert und ganz normal versioniert.
Verschieb die .gitignore
wieder in den Projektordner und öffne sie in einem Texteditor. Die Struktur der Datei ist leicht zu verstehen.
# ---> Java
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
Ergänze zum Beispiel die Zeile
test.txt
und speichere die Datei ab. GitHub Desktop ignoriert nun die von dir erstellte Datei bei allen weitere Commits.