19 Stimmen

Versionskontrolle lernen, und zwar richtig lernen

Wo sollte ich anfangen, mich über Versionskontrollsysteme zu informieren? Ich habe in der Vergangenheit mit SVN, Team Foundation und Sourcesafe gearbeitet, aber ich habe nicht das Gefühl, dass ich sie vollständig verstehe, und mein Team scheint sie auch nicht zu verstehen.

Welche Punkte sind am wichtigsten zu beherrschen? Mir ist klar, dass dies von VCS zu VCS unterschiedlich ist, aber für diese Frage können wir davon ausgehen, dass Subversion das VCS ist, über das ich am meisten lernen möchte.

Wenn Sie können, empfehlen Sie bitte auch Bücher zu diesem Thema, die Sie nützlich finden.

0 Stimmen

Es würde heißen: "gut lernen", nicht "gut lernen". Ich kann nicht glauben, dass die Mods das übersehen haben.

1voto

N8g Punkte 616

Um Ihre Frage zu beantworten: Welches sind die wichtigsten Punkte, die Sie beherrschen sollten, würde ich vorschlagen, dass Sie, nachdem Sie den gesamten Prozess des Ein- und Auscheckens, des Zurückrollens zu alten Versionen und des Durchführens von Diffs durchlaufen haben, einen Blick auf das Branching werfen sollten. Branching kann Ihnen dabei helfen, mit dem Schmerz umzugehen, wenn Sie mitten in einer großen Änderung stecken und plötzlich eine Fehlerbehebung durchführen und diese in die Produktion einbringen müssen, ohne dass die halbfertigen Sachen, an denen Sie arbeiten, dazwischen kommen.

1voto

onnodb Punkte 5223

Ich denke, die Subversion-Dokumentation ist ein guter Ausgangspunkt. Ich habe festgestellt, dass Wikipedia nicht wirklich hilfreich ist, da es nur einen "grundlegenden" Gesichtspunkt abdeckt.

In der Subversion Buch die Alex erwähnt hat, würde ich vor allem Kapitel 1 empfehlen, auch wenn das vielleicht auf einem zu niedrigen Niveau ist, wenn man schon etwas Erfahrung mit Svn hat. Kapitel 4 behandelt Verzweigung und Zusammenführung im Detail, aber es ist ziemlich technisch.

Was mir sehr geholfen hat, ist die Anleitung zur täglichen Benutzung in der TortoiseSVN Dokumentation Es deckt die wichtigsten Operationen im Stil eines Tutorials ab.

Ich denke, die wichtigsten Dinge, die Sie begreifen müssen, sind Verzweigung, Zusammenführung und Kennzeichnung . Um diese zu verstehen, braucht man Zeit und Übung. Ich empfehle daher dringend ein kleines Lieblingsprojekt in einem lokalen Repository, damit man experimentieren kann. Ich denke, es ist wichtig zu erkennen, dass das ganze System diff-basiert ist: Ein Merge ist nichts anderes als die automatische Anwendung der Änderungen, die in einem Zweig gemacht wurden, auf den Code in einem anderen Zweig, anstatt den Code selbst zu korrigieren. Dinge wie Konflikte (für die ich viel Zeit brauchte, um sie zu verstehen) sind nur eine Folge davon.

Aber natürlich lerne auch ich noch dazu :)

1voto

Anders Sandvig Punkte 20204

Ich bin mir nicht sicher, wie viel Erfahrung Sie mit Versionskontrollsystemen haben, aber für jemanden, der keine Vorkenntnisse über das Konzept hat, empfehle ich die Lektüre der ersten paar Kapitel des Subversion Buch . Einige der dort beschriebenen Dinge sind spezifisch für Subversion, aber viele der Konzepte sind "universell" für Versionskontrollsysteme und wie man mit ihnen arbeitet.

Ich denke, es ist sehr wichtig, dass die Leute sich bemühen, die wichtigsten Konzepte und Überlegungen hinter Versionskontrollsystemen zu verstehen, bevor sie sie einsetzen. Allzu oft sehe ich Entwickler, die nur eine kleine Teilmenge der Funktionen ihres Systems nutzen, weil sie die zugrundeliegenden Konzepte nicht verstehen und daher entweder keinen Sinn darin sehen, die ihrer Meinung nach "fortgeschrittenen" oder "unnötigen" Funktionen zu nutzen, oder sie haben einfach Angst davor, dies zu tun, aus Angst, etwas kaputt zu machen oder Probleme für das Projekt zu verursachen.

Nachdem ich dieses Phänomen in der Vergangenheit mit vielen Entwicklern erlebt habe, habe ich vor kurzem eine Zusammenfassung dessen verfasst, was ich als bewährte Verfahren für die Versionskontrolle in meinem Blog.

1voto

Andriy Volkov Punkte 18140

0voto

tim Punkte 3167

Überprüfen Sie GIT . Ein Vortrag darüber ici .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X