[linux-l] Nutzt jemand Git?

Volker Grabsch vog at notjusthosting.com
Fr Mai 8 16:50:30 CEST 2009


Marian Rudzynski <mr at impaled.org> schrieb:
> Volker Grabsch wrote:
> > Kurze Klarstellung: Ich sprach von _kleinen_ Projekten im
> > Sinne von "könnte eine Person privat erledigen", nicht von
> > "klein" im Sinne von "weniger als 100.000 Dateien". :-)
> 
> Eine einzelne private Person braucht kein RCS. Moechte diese Person den 
> Code publizieren, benoetigt sie die technischen Moeglichkeiten dafuer. 

IBTD.

Selbst bei Einzelprojekten ist eine Versionskontrolle _sehr_
nützlich.

Wer vor größeren Änderungen steht, macht sich häufig Sicherungs-
kopien, und hat dann haufenweise Ordner seines Projektes mit
allen möglichen Zwischenstadien und fehlgeschlagenen Versuchen.
Und wenn man das sowieso hat, dann kann man auch gleich eine
Versionskontrolle nehmen, die einem diese Drecksarbeit abnimmt.

Eine Versionskontrolle hat die Aufgabe, alle Änderungen zu
dokumentieren und in beliebige alte Versionen zurück springen
zu können. Es ist eine gewisse "Befreiung", dass man vom letzten
Commit ausgehend beliebig weitermachen kann, auch experimentieren
kann, ohne wirklich etwas kaputt schießen zu können. Wenn
ein weiterer Teil, oder sogar das Ganze, dann funktioniert,
wird das eingecheckt. Ich sehe immer, welche Änderungen seit
der letzten lauffähigen Version erfolgt sind. Einen schwierigen
Bug kann ich zurückverfolgen bis zu genau der Änderung, bei der
ich ihn eingeführt hatte.

Das gilt übrigens nicht nur für Software-Projekte, sondern
auch für andere Texte (Artikel, Howtos, etc.). Sobald irgendwas
eine gewisse Größe erreicht hat und noch weiterentwickelt wird,
stelle ich es sofort unter Versionskontrolle.

> Diese bringen auch gleichzeitig die Voraussetzungen fuer SVN und andere, 
> welches dann wiederum eine Wahl erzwingt wohin sich das Projekt bewegen 
> soll und wer in Zukunft eventuell daran mitarbeiten koennte.
> So toll Github.com auch ist, Sourceforge und seine alteingesessenen 
> Kollegen bieten auch alle schoene Moeglichkeiten. Und moechte man auf 
> der eigenen Kiste hosten, ist Subversion auch angenehmer zu handlen.

Sourceforge bietet auch Git an. Ich weiß daher nicht so
richtig, wofür oder wogegen du hier eigentlich argumentieren
möchtest.

> Und da es in der eigentlichen Mail zu diesem Thema hier darum ging wieso 
> man aus welchen technischen Gruenden welches RCS verwenden sollte, 

Um diesen Zusammenhang wiederherzustellen: Für ein privates
Projekt ist ein DVCS besser als ein zentrales, weil man dann
alles an einem Platz hat, und kein lokales zentrales Repository
für all seine Projekte benötigt.

Mit Subversion und CVS ist das zwar auch möglich, aber halt
viel umständlicher, daher halte ich diese beiden für technisch
schlechter geeignet.

Oder andersrum: Die Stärken der DVCS kommen auch bei privaten
Projekten zum Tragen.

> Fakt bleibt also: grosse Files macht SVN, viele Files macht Git, CVS ist 
> ueberfluessig und von Darcs/Mercurial weiss ich nichts. Die sollte man 
> sich wohl ansehen wenn man es dezentralisiert braucht und grosse Files 
> hat, denn das kann Git nicht wirklich.

Nicht ganz. Wenn es um große Dateien geht, ist Mercurial meiner
Erfahrung nach deutlich besser geeignet als Git.

Aber Darcs hat diese Stärke nicht, eher im Gegenteil. Von der
Performance her liegt Darcs hinter Mercurial und Git. Das ist
wirklich schade, weil Darcs ansonsten ein verdammt gutes DVCS ist.

Darcs setzt einige Prinzipien der DVCS besonders konsequent um.
Und es hat eine sehr schöne Benutzer-Interaktion - im Textmodus,
Frage/Antwort-basiert. Zum Erlernen von DVCS ist Darcs daher
sehr gut geeignet, sowohl aus didaktischer Sicht als auch in
Sachen Benutzerfreundlichkeit.


Gruß,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l