Versionsverwaltung im Heimeinsatz?
-
Scheinen ja doch viele zu nutzen. Ich habe momentan einfach nur Projektdateien auf der Platte, aber überlege gerade mir Git zu installieren. Welche Vorteile habt ihr durch das Einsetzen von Versionsverwaltungen in Privatprojekten?
-
nanana schrieb:
Welche Vorteile habt ihr durch das Einsetzen von Versionsverwaltungen in Privatprojekten?
wenn man aus der disse kommt, schön einen sitzen hat und unbedingt pfuschen will, muss man nicht am nächsten tag seine änderungen suchen
-
nanana schrieb:
Welche Vorteile habt ihr durch das Einsetzen von Versionsverwaltungen in Privatprojekten?
Wenn du dir etwas zerschossen hast, kannst du leicht alte Versionen wieder herstellen. Oder dir zeigen lassen, was die Unterschiede zwischen der letzten funktionierenden Version und der kaputten sind. Oder den Commit finden lassen, der es zerschossen hat.
Ist auch zur Zeitabrechnung verflucht praktisch. Und wenn ich wiedermal anfange, irgendwas größeres ein/umzubauen, mache ich dafür eine eigene Branch auf, werde beim Rest meiner Arbeit nicht gestört und merge die Branch erst dann, wenn das Feature halbwegs fertig ist oder zumindest nichts anderes mehr kaputt macht.
-
nman schrieb:
Ist auch zur Zeitabrechnung verflucht praktisch.
Echt? Wie handhabst du das? Vielleicht ist mein Commitverhalten abnormal, aber ich habe nicht den Eindruck, daß sich aus meinen Commits verläßlich auf die Arbeitszeit schließen ließe.
-
audacia schrieb:
Vielleicht ist mein Commitverhalten abnormal, aber ich habe nicht den Eindruck, daß sich aus meinen Commits verläßlich auf die Arbeitszeit schließen ließe.
Nein, so rum mache ich das auch nicht. Ich notiere die Zeit ohnehin extra; mit den Commits sehe ich dann einfach wie sich was auf Implementierungsdetails verteilt hat. Das klappt recht gut, wenn man viel committet, sodass auch der Arbeitsfortschritt versioniert ist.
-
audacia schrieb:
nman schrieb:
Ist auch zur Zeitabrechnung verflucht praktisch.
Echt? Wie handhabst du das? Vielleicht ist mein Commitverhalten abnormal, aber ich habe nicht den Eindruck, daß sich aus meinen Commits verläßlich auf die Arbeitszeit schließen ließe.
Wenn du die Regel "commit early, commit often" befolgst solltest du während deiner Programmierzeit wohl einige Commits vorfinden, dementsprechend musst du dann nur noch einen Faktor "typische Zeit die ich währenddessen mit Mail/Messenger verbringe" hinzumultiplizieren und voila.
MfG SideWinder
-
Wenn man auch bei kleineren Privatprojekten eine Versionsverwaltung benutzt, lernt man auch ein wenig Selbsdtdisziplin. Ich habs mir z.B. dadurch angewöhnt, meine Committs noch einmal zu diffen, bevor ich sie in die Versionsverwaltung einreiche. Da sieht man dann noch einmal, wenn man vergessen hat, Test-Code wieder zu entfernen, Kommentare vergessen hat, etc.
Als Versionsverwaltung nutze ich privat wie beruflich Mercurial, was ich ein wenig einsteigerfreundlicher empfinde als Git. Unter Linux und Windows gibts mit TortoiseHG auch eine recht gute UI dafür.
-
nman schrieb:
nanana schrieb:
Welche Vorteile habt ihr durch das Einsetzen von Versionsverwaltungen in Privatprojekten?
Wenn du dir etwas zerschossen hast, kannst du leicht alte Versionen wieder herstellen. Oder dir zeigen lassen, was die Unterschiede zwischen der letzten funktionierenden Version und der kaputten sind. Oder den Commit finden lassen, der es zerschossen hat.
Mittlerweile werde ich schnell ängstlich, wenn ich irgend etwas bearbeiten muss, dass nicht über eine Versionsverwaltung gesichert ist. Man kann einfach viel radikaler etwas ändern und muss nicht immer haufenweise auskommentierten Code mitschleppen.
-
nman schrieb:
Nein, so rum mache ich das auch nicht. Ich notiere die Zeit ohnehin extra; mit den Commits sehe ich dann einfach wie sich was auf Implementierungsdetails verteilt hat. Das klappt recht gut, wenn man viel committet, sodass auch der Arbeitsfortschritt versioniert ist.
Okay, das klingt sinnvoller.
SideWinder schrieb:
Wenn du die Regel "commit early, commit often" befolgst
Tu ich aber nicht; ich finde, das stört meinen Arbeitsfluß enorm. Mit Mercurial und Shelves ist es so schön leicht, die Änderungen hinterher wieder in einzelne Commits zu zerlegen; und nebenbei werde ich so gezwungen, meine Änderungen nocheinmal durchzuschauen.
-
audacia schrieb:
SideWinder schrieb:
Wenn du die Regel "commit early, commit often" befolgst
Tu ich aber nicht; ich finde, das stört meinen Arbeitsfluß enorm. Mit Mercurial und Shelves ist es so schön leicht, die Änderungen hinterher wieder in einzelne Commits zu zerlegen; und nebenbei werde ich so gezwungen, meine Änderungen nocheinmal durchzuschauen.
Ich committe dauernd. Wenn ich dann fertig bin, werden überflüssige Commits eben zu einem einzigen zusammengesquashed, dh. in der Versionsgeschichte sieht man gar nicht mehr, dass ich zwischenzeitlich mal zum Herumspielen fünfzig Zeilen Boilerplate-Code herumkopiert habe und ich temporär die Hälfte aller Unit-Tests deaktiviert hatte oä.
Shelves heißen bei Git ja Stashes, gibts also auch. Die verwende ich aber normalerweise eigentlich nur wenn ich ganz schnell irgendwelche Änderungen zur Seite legen möchte, die gerade im Weg sind. (Zb. weil ich vergessen habe, eine eigene Branch aufzumachen und zeitgleich Buildfile und irgendwelche Sourcen zu editieren angefangen habe.)