Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 15:06
ob ich nicht auch als Einzelperson von der Subversionsverwaltung profitieren kann.
Auf jeden Fall! Wie hast du es denn bisher ohne ausgehalten?

Aber tu dir bitte einen Gefallen: Nimm gleich Git, nicht Subversion. Ist mittlerweile eigentlich der Industriestandard und hat Subversion abgelöst, und das nicht ohne Grund. Es lässt sich deutlich besser damit arbeiten, vor allem wenn man mehrere Branches hat oder an mehreren Rechnern gleichzeitig arbeitet, aber auch sonst ganz allgemein. Es hat zwar am Anfang eine recht steile Lernkurve, aber es ist besser, gleich damit anzufangen, als erst noch Subversion zu lernen. Wahrscheinlich sind die Konzepte von Git am Anfang auch weniger verwirrend, wenn man nicht durch andere Versionskontrollsysteme wie Subversion, die etwas anders funktionieren, bereits vorbelastet ist. Wenn du Git erst mal beherrscht, willst du nie wieder zurück.

Ich werde deine Fragen mal für Git beantworten:

1. Dazu schon mal direkt eine Frage zu den Benutzern:

Sollte ich (obwohl ich ja nur eine Person bin) mehrere Benutzer einrichten und diese Identitäten dann jeweils von den anderen PC's aus nutzen?
Oder nur einen Benutzer?
Ich würde immer die gleiche Identität nehmen. Du bist ja schließlich auch immer die gleiche Person, egal an welchem Rechner du gerade arbeitest.

2. Dann eine Frage zu den globalen / geteilten Units, die in unterschiedlichen Projekten verwaltet werden. Wie bindet man die richtigerweise ein?
Git Sub-Modules wären eine Möglichkeit. (Nur der Vollständigkeit halber: Unter Subversion gibt es sowas ähnliches, nennt sich svn:externals.)

3. Prinzipiell würde mich auch das Thema "Branches" interessieren. Mir geht es hin und wieder schon mal so, dass ich ein Programm in eine bestimmte Richtung entwickle, dann aber einen großen Teil oder fast alles wieder verwerfe und dann ist es manchmal recht umständlich wieder auf die gewünschte Ausgangsversion zurückzukommen, bzw. vielleicht möchte man ja einen Teil der Arbeit in die alte Ausgangsversion übernehmen.

Wie macht man das? Wie sage ich Delphi, dass die aktuelle Arbeit jetzt Teil eines variablen Zweigs sein soll? Indem ich es erneut in den Braches-Ordner poste? Muss ich mir dort selber Unterordner anlegen?
Unter Git, indem du einfach auf den (neuen) Branch wechselst und dann deine Änderungen dort committest.
Code:
git checkout -b neuer-branch
git add -u
git commit
(Du bist dann dauerhaft auf diesem Branch, also wenn du danach wieder zurück zum Haupt-Branch willst, dann musst du anschließend noch mal git checkout master ausführen)

Interessant ist auch git add --patch , wenn man nur einen Teil der Änderungen committen will. Ich weiß nicht ob es nur mir so geht, aber ich arbeite oft an mehreren Baustellen gleichzeitig. Habe z.B., während ich ein neues Feature implementiert habe, gleichzeitig noch an einer anderen Stelle einen Bug gefunden und gefixt. Mit git add --patch kann ich beides sauber trennen.

Auch interessant ist git rebase , um Commits nachträglich umzusortieren oder in andere Branches zu übernehmen. Aber das ist eher was für Fortgeschrittene. Als Anfänger würde ich die Finger davon lassen, auch weil man sonst versehentlich Commits ins Nirwana schicken kann (lassen sich zwar in der Regel wiederherstellen, aber die Panik ist nicht so schön. Ich weiß wovon ich rede).

Lies auf jeden Fall ein Git-Tutorial.

4. Nutzt das auch jemand von Euch als Einzelperson, welche Erfahrungen habt ihr damit gemacht?
Siehe oben. Ja! Ich kann es mir ohne gar nicht mehr vorstellen. Dabei verwende ich meistens nicht mal mehrere Rechner. Der größte Vorteil ist, dass es einem Sicherheit für Experimente gibt, wenn man weiß, dass man jederzeit zu einem vorherigen Stand zurückgehen kann. Auch habe ich festgestellt, dass es oft hilfreich ist, wenn man länger an einer Sache nicht arbeiten konnte und nicht mehr weiß, was man zuletzt gemacht hat. Man kann sich dann einfach mal die letzten Änderungen anschauen, die man gemacht hat, und findet so schneller wieder rein.
  Mit Zitat antworten Zitat