Git: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Roth (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Roth (Diskussion | Beiträge) Git in a nutshell |
||
| Zeile 1: | Zeile 1: | ||
{{Stub}} | {{Stub}} | ||
[[GIT|Git]] ist ein [[Versionsverwaltung|Versionsverwaltungssystem]]. Es wird verwendet um | |||
* Änderungen am Projekt zu protokollieren und dieses zu archivieren. | |||
* Ältere Versionen wiederherzustellen. | |||
* Gemeinsames Arbeiten auf der selben Datenbasis zu ermöglichen. | |||
Wir verwenden Git im Sopra um genau diese Punkte zu ermöglichen. Jede [[Gruppeneinteilung|Gruppe]] erhält ihr eigenes [[#Repository|Repository]] auf [[Gitea]] (einer Plattform ähnlich zu [https://de.wikipedia.org/wiki/GitHub GitHub]), um ihr Projekt zu verwalten. | |||
__TOC__ | __TOC__ | ||
= Git in einer Nussschale = | |||
Um mit Git arbeiten zu können, ist es wichtig die Prinzipielle Arbeitsweise von Git zu verstehen. Hat man die technische Umsetzung im Hinterkopf, werden die Befehle und Arbeitsweisen um git zu bedienen klarer. | |||
* | Git protokolliert und verwaltet ein Dateiverzeichnis und alle Änderungen die an den verwalteten Dateien gemacht werden. Jede Änderung produziert dabei einen neuen "Schnappschuß" - den aktuellen Zustand des Verzeichnisses und der Dateien denen ein HASH (SHA-1) zugeordnet wird. Git kümmert sich darum, dass dies speichereffizient abläuft und verwendet dazu ein speziellen Verzeichniss das <code>.git</code> heißt und in dem verwalteten Dateiverzeichnis liegt. Dieses die gesammte Historie beinhaltende <code>.git</code> Verzeichnis ist ein Git Repository. Meistens wird aber das verwaltete Verzeichnis synonym als Repository bezeichnet, was wir ab jetzt auch tun. Ein einfaches Repository mit nur einer Datei "README.md" sieht demnach so aus: | ||
* | |||
* | . | ||
├── .git | |||
└── README.md | |||
Die gesammte Historie des Repository ist also (meistens) lokal vorhanden. Um mit mehreren Personen an dem Repository zu arbeiten, müssen die Teilnehmer es mit einem "remote" Repository synchronisieren. | |||
Git arbeitet mit 3 Zuständen. Jede versionierte Datei kann in einem der Zustände sein wobei es nicht sein muss, dass zu einem Zeitpunkt alle Dateien den gleichen Zustand haben. | |||
Die 3 Zustände sind: | |||
* committed -> Die Datei ist so wie sie ist im repository gespeichert. | |||
* modified -> Die Datei ist zum letzten gespeicherten Zustand verändert. | |||
* staged -> Die Datei (vorher im "Modified" Zustand oder eine neue Datei) wurde von dem git Benutzer markiert, sodass die Änderungen gespeichert werden sollen. | |||
Daneben gibt es auch noch `''untracked files''` dies sind Dateien, die noch nicht in die Versionskontrolle aufgenommen wurden. | |||
== zentrale Begriffe == | == zentrale Begriffe == | ||
