wer nutzt git für private projekte?
-
title says.
+1 :xmas1:
-
-
mmhhh, darcs hab ich noch nie ausprobiert. was zeichnet es denn aus?
-
sothis_ schrieb:
mmhhh, darcs hab ich noch nie ausprobiert. was zeichnet es denn aus?
Es ist extrem klein und simpel. Fragt bei Bedarf auch vieles interaktiv ab, wenn man vergisst, irgendwelche Daten anzugeben. Skaliert dadurch meines Erachtens ein bisschen besser nach unten als Git. Aber es ist natürlich auch einfach ein cooles verteiltes VCS, das es schon länger gibt als Git.
-
nman schrieb:
sothis_ schrieb:
mmhhh, darcs hab ich noch nie ausprobiert. was zeichnet es denn aus?
Es ist extrem klein und simpel. Fragt bei Bedarf auch vieles interaktiv ab, wenn man vergisst, irgendwelche Daten anzugeben. Skaliert dadurch meines Erachtens ein bisschen besser nach unten als Git. Aber es ist natürlich auch einfach ein cooles verteiltes VCS, das es schon länger gibt als Git.
ah, danke. muss ich mir mal bei gelegenheit anschauen :xmas1:
-
Mir fällt gerade noch ein, dass darcs früher auch extrem praktisch war, als es für git noch keinen bzw. keinen brauchbaren Windows-Port gab.
-
+1
Ich nutze mitlehrweile für alles was mit Entwicklung zu tun hat git...
-
Ich auch. Selbst für solche Sachen wie Vorlesungsskripte oder Praktikumsprotokolle.
-
+1
-
@ die, wo unter Windows gitten:
Laut Wikipedia gibt es da ja msysgit und die cygwin Lösung. Welche benutzt ihr, welche sollte man als Gitneuling verwenden? Sprich: Ist eine besser als die andere?
-
möchtegitter schrieb:
@ die, wo unter Windows gitten:
Laut Wikipedia gibt es da ja msysgit und die cygwin Lösung. Welche benutzt ihr, welche sollte man als Gitneuling verwenden? Sprich: Ist eine besser als die andere?
also bis 1.6.0.2 als mingw build draussen war habe ich die cygwin variante genutzt, da die 1.5.<irgendwas> einige features nicht hatte, die ich unbedingt haben wollte (z.b. sowas wie den --mirror switch beim "git clone"). aber jetzt nutze ich ausschließlich msysgit. es ist performanter und ich muss nicht 280MB dependencies wie bei cygwin auf der platte haben. es gibt zwar noch einige hakler mit gitk, aber dem der dass nicht oft nutzt wird das auch nicht stören. :xmas1:
edit: ich hab mich mit den versionen vertan :xmas1:
-
+1 Ich benutze für alles neuere git. Früher habe ich monotone verwendet.
Zu darcs: Ich habe darcs nie wirklich aktiv benutzt, außer um irgend welche Sourcen zu ziehen (in den ganzen functional programming communities ist darcs recht populär). Aber darcs hat wohl ein Problem, dass es teilweise exponentielle Zeit zum mergen braucht und auch so recht langsam sein soll. Aber man merkt eben, dass die darcs Leute irgend welche Mathematiker und Haskellfreaks sind, weil sie zu darcs gleich eine Patchtheorie entworfen haben :).
-
.filmor schrieb:
Ich auch. Selbst für solche Sachen wie Vorlesungsskripte oder Praktikumsprotokolle.
Natürlich, dafür ist es ja auch perfekt geeignet.
rüdiger: Ist jetzt schon einige Zeit gefixt und ich habe mittlerweile eigentlich immer noch keine Repositories in Verwendung, bei denen mich die darcs-Performance in irgendeiner Form stören würde. git ist performancetechnisch natürlich toll, aber ich habe gestern gerade erst Änderungen im Ausmaß von etwa 35MB auf meinem Uralt-Powerbook aufgezeichnet, da legte darcs eine Bedenkzeit von drei Sekunden ein und alles war fertig. Unter Eclipse warte ich auf dem Rechner teilweise deutlich länger auf die Completion.
-
+1
.filmor schrieb:
Ich auch. Selbst für solche Sachen wie Vorlesungsskripte oder Praktikumsprotokolle.
Funktioniert das ueberhaupt? Sowas ist doch meistens PDFs, also binaer-Daten.
IMHO waere es cool Git fuer sowas wie Word- oder Excel-Dokumente zu verwenden. Mit ODF wuerde es auch funktionieren (wenn man die Dokumente nicht komprimiert), weil sie XML, also Textdateien sind.Wie machen das die Leute mit ihren Dokumenten und Versionsverwaltung? Als Programmierer hat man es ja nur mit Textdateien zu tun, aber z.B. MS-Word Dokumente sind ja alle binaer. Ein Versionsverwaltung muesste diese Dokumente auslesen koennen und dann die Aenderungen protokolieren. Gibt es solche Programme?
-
DEvent schrieb:
Funktioniert das ueberhaupt? Sowas ist doch meistens PDFs, also binaer-Daten.
Er meint wohl die LaTeX-Dateien.
-
DEvent schrieb:
Wie machen das die Leute mit ihren Dokumenten und Versionsverwaltung? Als Programmierer hat man es ja nur mit Textdateien zu tun, aber z.B. MS-Word Dokumente sind ja alle binaer. Ein Versionsverwaltung muesste diese Dokumente auslesen koennen und dann die Aenderungen protokolieren. Gibt es solche Programme?
wie eigentlich jedes andere scm kann git auch mit binaries umgehen und diff't eben die binärdaten und speichert die deltas (die bei binärdaten eben für gewöhnlich ziemlich groß ausfallen). der inhalt des binaries ist in dem fall irrelevant, wie bei den textdaten im grunde auch. ein scm muss nichts über den inhalt wissen, nur über differenzen. eine unterscheidung zwischen text und binary files im repo ist im grunde nur für die wahl des effizienteren packalgorithmusses (plural korrekt? :P) mit den man die deltas archiviert wichtig :xmas1:
edit: oh, natürlich steht und fällt alles mit der qualität der heurisitk mit dem das scm system text von binärdaten unterscheidet. ich habe da noch so düstere erinnerungen mit cvs und unicode-textdateien. die musste man glaube ich explizit als binary deklarieren, sonst kam datensalat beim auschecken an
-
hi
ich finde, git sieht interessant aus.
was sind die vorteile gegenueber svn oder online systemen wie google-code?
-
DEvent: Noch ein Grund mehr der für LaTeX spricht. (Nicht, dass ich vor Git und Darcs noch ernsthaft irgendwas anderes verwendet hätte.)
neulingling schrieb:
ich finde, git sieht interessant aus.
was sind die vorteile gegenueber svn oder online systemen wie google-code?
-
neulingling schrieb:
hi
ich finde, git sieht interessant aus.
was sind die vorteile gegenueber svn oder online systemen wie google-code?Der wesentliche Unterschied ist der, dass git ein dezentrales und svn ein zentrales vcs ist. Sprich bei svn braucht man immer einen Server, der das repository verwaltet. Wollen Programmierer ihre Codeänderungen austauschen, dann können sie nur über diesen Server gehen. Bei git dagegen hat jeder Rechner ein komplettes rep und ist nicht von einem Server abhängig. Man kann Änderungen auch commiten, wenn man nicht Online (oder der Server offline) ist und man kann Änderungen ohne Probleme zwischen Nutzern austauschen ohne über den Server zu gehen. Dies kann lokal geschehen (von Verzeichnis zu Verzeichnis), über ssh oder ein git eigenes Protokoll (uvm.) und git hat sogar Tools um Patches ganz einfach via Email auszutauschen. Außerdem ist git viel schneller und effizienter als svn. Bei git ist das ganze rep. idr. viel kleiner, als ein einzelner checkout bei svn!
Im Gegensatz zu svn verwaltet git Änderungen auch nicht auf Dateibasis, sondern auf Projektbasis. D.h. es ist kein Problem Dateien oder Code umzukopieren. Bei git kann man sehr komfortable branchen und mergen (zumindest letzteres ist mit svn eine Qual). Das geht sogar so gut, dass man idr sehr häufig eine neue branch aufmacht (also zB für jedes neue Feature).
Bei git wird die Versionsgeschichte kryptographisch gesichert, so dass niemand heimliche Änderungen einschleusen kann. svn besitzt so ein Feature nicht.git hat auch sehr nette Tools, so wie git-svn. Damit kann man einfach von git aus svn-Server ansprechen und so auch wenn das Projekt mit svn verwaltet wird - zumindest lokal - die Vorteile von git nutzen.
-
sothis_ schrieb:
wie eigentlich jedes andere scm kann git auch mit binaries umgehen und diff't eben die binärdaten und speichert die deltas (die bei binärdaten eben für gewöhnlich ziemlich groß ausfallen). der inhalt des binaries ist in dem fall irrelevant, wie bei den textdaten im grunde auch. ein scm muss nichts über den inhalt wissen, nur über differenzen. eine unterscheidung zwischen text und binary files im repo ist im grunde nur für die wahl des effizienteren packalgorithmusses (plural korrekt? :P) mit den man die deltas archiviert wichtig :xmas1:
Daran habe ich nicht gedacht, danke. Aber ist das ueberhaupt Praktikabel? Das wichtigeste an einem VCS ist ja das zusammenführen ("merge") von Dateien. Wie soll man das bitte mit binaer-Daten machen?
Git protokoliert z.B. auch, welcher Autor welche Quellcode-Zeile abgemeldet (also "checkout") hat. Wie soll man sowas bei binaer-Daten machen?