[linux-l] Nutzt jemand Git?

Marian Rudzynski mr at impaled.org
Di Mai 5 13:29:44 CEST 2009


Volker Grabsch wrote:
> Dieses Argument verstehe ich nicht. Gerade bei Subversion hast
> du _nicht_ die alleinige Zugriffskontrolle, sondern jeder kann
> jederzeit irgendwas hinein committen. Beim einem DVCS hast du
> (als Integrator / Maintainer) hingegen die Möglichkeit, gezielt
> nur von bestimmten Entwicklern zu von dir festgelegten Zeiten
> die Änderungen einzupflegen.
>
> (Ich nehme hierbei folgendes Standard-Szenario an: Du bist
> Integrator, du "pull"st von allen. Alle anderen "pull"en
> ausschließlich von dir.)
>
>   

Natuerlich kann jeder committen wann er moechte - so lange ich ihm dies 
erlaube. Bei kleinen Entwicklerteams (wie in meinem Fall meist 
hoechstens zwei Personen) ist das OK. Dein Standard-Szenario ist dann 
doch eher eins fuer Kernelentwickler oder grosse Communityprojekte, wo 
wenige Personen die offizielle Codebase verwalten und viele Patches 
submitten.

> Ich habe ein Repository mit >2000 Dateien, von denen etliche
> einige MB groß sind und Binärdaten enthalten (OpenOffice-Dokumente,
> Bilder, etc.)
>
> Früher war es Subversion, das war etwas nervig, aber einigermaßen
> flink. Ich wollte es dann auf ein DVCS umstellen und dabei gleich
> Git ausprobieren. Zu dem Zeitpunkt war das Repository übrigens
> nur 60 MB groß. Das Teil war extrem langsam, ein Commit oder Pull
> dauerte ewig.
>
> Dann bin ich zu Mercurial gewechselt, das hatte keine Probleme
> damit. Es war so schnell wie Subversion (vielleicht sogar schneller)
> und auf jeden Fall viel flexibler. Auch heute, wo es ca. 340 MB groß
> ist, gibt es absolut keine Performance-Probleme irgendeiner Art.
>
> Dein Argument spricht also gegen Git, aber nicht gegen DVCS im
> Allgemeinen.
>
> In deinem konkreten Szenario würde ich sogar vermuten, dass Mercurial
> in fast jeder Hinsicht besser geeignet ist als Subversion.
>
>   

Richtig. Ich meinte ausschliesslich Git. Mit Mercurial und anderen habe 
ich keinerlei Erfahrungen. Ich hatte mal ueberlegt Git fuer 
Datenbankbackups zu verwenden ..das habe ich ganz schnell wieder sein 
lassen.

2006 gab es eine Diskussion dazu auf der Kernelliste: 
http://kerneltrap.org/mailarchive/git/2006/2/8/200585

> Auch das spricht gegen Git, aber nicht z.B. gegen Mercurial
> oder Darcs.
>
> (... wobei Darcs nur bei Projekten mit kleinen Dateien und sehr
> wenig größeren Dateien eingesetzt werden sollte.)
>
>   

Das ist im wesentlichen der "allgemeine Konsenz" mit Git und Subversion 
der auch auf ewig stecken bleiben wird: Git fuer extrem viele kleine 
Files, Subversion fuer alles wenn man keine dezentralisierung wuenscht. 
Hat man also ein Projekt mit grossen Files dass dezentralisiert sein 
muss, googled man 20 Minuten lang rum und findet wohl Mercurial oder Darcs.

> Gut, dann hat man keine älteren Changesets und Branches, in denen
> man herumstöbern kann, aber dafür hat man sofort ein sauberes,
> leeres Repository, in dem man die ersten Schritte üben kannst.
>
>   

Das wichtigste was man mit Git wohl direkt zu anfang lernen muss ist SSH 
Keys verwalten, branches lernen (vor allem remote branches) und dass ein 
commit kein push ist. Das wird einem alles fast schon direkt 
aufgezwungen bei Github.

Ausserdem bekommt man aus Subversion fan so ein warmes Gefuehl in der 
Brust weil man ein "zentrales master repository" hat. Als ich Git dass 
erste mal eingesetzt habe, habe ich als erstes herausgefunden wie ich es 
zentralisieren kann (damals noch ohne Github).

> Gruß,
>
>     Volker
>
>   




Mehr Informationen über die Mailingliste linux-l