53 lines
2.3 KiB
TeX
53 lines
2.3 KiB
TeX
% master: grundbegriffe.tex
|
|
% Grundbegriffe v0.1
|
|
% 2017-01-09 (Rx)
|
|
|
|
\section{Grundbegriffe}
|
|
%----------------------
|
|
|
|
\begin{verbatim}
|
|
Versionkontrollsystem (Version Control System, VCS)
|
|
Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen
|
|
an Dokumenten oder Dateien verwendet wird.
|
|
Zum Beispiel:
|
|
Zentrale Systeme - zentraler Server
|
|
RCS-Revision Control System, CVS-Concurrent Versions System,
|
|
SVN-Subversion
|
|
Verteilte Systeme - Kein zentraler Server
|
|
Bazaar, Darcs, Fossil, Git, GNU arch, Mercurial, Monotone
|
|
Repository
|
|
Nutzt Git als Dantenbank in der die verschiedenen Zustände jeder Datei
|
|
eines Projektes über die Zeit hinweg ablegt. Jede Änderrung wird als
|
|
Commit verpackt und abgespeichert.
|
|
Working Tree
|
|
Das Arbeitsverzeichnis von Git, oft auch Working Directory genannt.
|
|
Commit
|
|
Das speichern der veränderten Dateien im Repository.
|
|
HEAD
|
|
Eine symbolische Referenz auf den neusten Commit im aktuellen Branch.
|
|
SHA-1
|
|
Der Secure Hash Algorithm erstellt eine eindeutige, 160 Bit lange
|
|
Prüfsumme. Alle Commits in Git werden nach ihrer SHA-1-Summe benannt,
|
|
die aus dem Inhalt und den Metadaten des Commits errechnet wird.
|
|
Objektmodell
|
|
Ein Git-Repository lässt sich als Graph von Commits modellieren, der
|
|
durch Git-Kommandos manipuliert wird.
|
|
Index
|
|
Der Index ist eine Zwischenstufe zwischen Working Tree und Repository,
|
|
in der Sie einen Commit vorbereiten. Enthält also die Dateien für den
|
|
nästen Commit.
|
|
Clone
|
|
Wenn Sie sich ein Git-Repository aus dem Internet herrunterladen.
|
|
Enthält die gesamte Versionsgeschichte einschließlich aller Commits.
|
|
Branch
|
|
Eine Abzweigung in der Entwicklung. Zum Beispiel für neue Featurs,
|
|
Release vorbereitung oder alte Versionen mit Bugfixes zu versorgen.
|
|
master
|
|
Beim Initialisieren eines neuen Repositorys wird der Branch master
|
|
erstellt analog trunk in anderen Systemen.
|
|
Tag
|
|
Tags sind symbolische Namen für schwer zu merkende SHA-1-Summen.
|
|
Wichtige Commits, wie zum Beispiel Releases v1.2.3. oder können
|
|
zusätzliche Metadateien wie Autor, Beschreibung und GPG-Signatur
|
|
enthalten.
|
|
\end{verbatim}
|