Umstieg für CVS-Benutzer (GIT)

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

GIT-Tutorial: Übersicht

Vorbemerkung

Hier wird auf die Unterschiede von GIT und CVS eingegangen

Unterschiede im Konzept

Zentral versus verteilt

CVS hat ein zentrales Repository, ein Austausch mit anderen Repositories ist nicht vorgesehen. GIT kennt standardmäßig Mechanismen, Daten aus verschiedenen Repositories auszutauschen/abzugleichen.

Historienbezug

CVS verwaltet die Historie von Einzeldateien, GIT die Historie von Repositories. Ein Commit bezieht sich bei CVS auf genau eine Datei, in GIT auf alle Dateien, die beim Commit angegeben sind. Das bewirkt, dass unter CVS bei einer Recherche die Datei bekannt sein muss, um einen Logeintrag zu suchen. Bei GIT ist eine dateiübergreifende Suche möglich.

Das hat noch weitere Auswirkungen:

  • Wird das Arbeitsverzeichnis in GIT auf einen Commit zurückgesetzt, so stimmen automatisch alle Dateien des Projekts. Bei CVS geht das nur dann sauber, wenn ein Tag gesetzt wurde.
  • Es kann keine Datei einzeln zurückgesetzt werden, sondern immer nur die Gesamtheit der Dateien, die von diesem Commit betroffen werden. Ausnahme ist natürlich, wenn der Commit nur eine Datei enthielt.

Umbenennen von Dateien

Das geht bei CVS nicht, bei GIT schon. Wird unter CVS der Vorgang mit Löschen und Neuanlegen erledigt, bleiben die Historien der zwei Dateien getrennt.