6 Stimmen

Geht es bei der Versionskontrolle um den Verlauf der Bereitstellung oder den Verlauf der Entwicklung?

... sagen wir, ich checke etwas Code aus, mache ein wenig Entwicklung oder Refactoring oder was auch immer ... checke ich es erst wieder ein, wenn ich völlig zufrieden bin? ... was ist, wenn ich meine Meinung über etwas ändere, während ich kodiere? kann ich zu einer früheren lokalen Version zurückgehen? gibt es einen Verlauf meiner lokalen Entwicklung?

Geht es bei der Versionskontrolle um den Verlauf der Bereitstellung oder den Verlauf der Entwicklung?

8voto

wcm Punkte 8825

Kurze Antwort. Es ist beides.

Die Möglichkeit, zu früheren Versionen zurückzukehren, ist aus vielen Gründen notwendig.

3voto

Michael Haren Punkte 101002

Beides, aber hauptsächlich Entwicklungsgeschichte. Der Stamm muss nicht die ganze Zeit in einem einsatzfähigen Zustand sein - das wäre ja verrückt.

Stattdessen legen Sie die Daten fest, bis Sie bereit sind, sie zu verteilen. Dann kennzeichnen Sie Ihr Repository mit Tags/Labels/Verzweigungen, um anzugeben, welcher Code bereitgestellt wurde.

3voto

Joe McMahon Punkte 3126

Interessanterweise hat noch niemand die Verwendung von Verzweigungen erwähnt.

Zweige sind eine gute Möglichkeit, den Stamm gesund zu halten und gleichzeitig ständig zu kontrollieren, was man gerade tut, ob er kaputt ist oder nicht. Stellen Sie sich das so vor, dass Sie eine neue Zeitlinie für den Code abzweigen. Die primäre Zeitlinie (der Stamm) tuckert vor sich hin und funktioniert immer; die Zweige können jeden beliebigen Zustand annehmen, ohne den Stamm zu beeinflussen.

Das erlaubt Ihnen, früh und oft zu committen, ohne sich Gedanken darüber machen zu müssen, ob Sie es jemand anderem vermasselt haben, und garantiert Ihnen, dass Sie nie einen "Ich bin zu weit gegangen und kann das nicht mehr rückgängig machen"-Moment haben, wenn Sie etwas Neues entwickeln, oder einen "Oh Gott, ich habe eine Woche verloren"-Moment, wenn Ihre lokale Festplatte sterben sollte. (Es versteht sich von selbst, dass Ihr Repository an einem Ort liegen sollte, von dem regelmäßig ein Backup erstellt wird!)

Sobald Ihr Code funktioniert, können Sie den Zweig wieder mit dem Stamm zusammenführen, und der Stamm erhält nun Ihren neuen Code; neue Zweige aus dem Stamm erhalten nun den gesamten aktuellen Code.

Das ist der große Reiz von Git für viele: Es ist wirklich einfach zu verzweigen und zusammenzuführen, was es sehr einfach macht, einen neuen Zweig oder sogar Zweige von Zweigen zu erstellen, wann immer sie gebraucht werden. Auch CVS kann Verzweigungen und Zusammenführungen durchführen, obwohl es wesentlich umständlicher ist.

3voto

Tim Punkte 19787

"Geht es bei der Versionskontrolle um den Verlauf der Bereitstellung oder den Verlauf der Entwicklung?"

Beides.

Revisionen/Dateiversionen für Entwickler und Zweige/Tags/Labels für die Bereitstellung.

Vieles davon hängt von den Richtlinien Ihrer Organisation ab.

Was die lokalen Arbeitskopien und Revisionen angeht - wenn Sie ein VCS haben, das entweder private Arbeitsbereiche/Abzweigungen und dann Promotion oder ein verteiltes System erlaubt, macht es wirklich nichts aus, wenn Sie schlechten Code einchecken und Sie können das VCS für private Dinge nutzen, so viel Sie wollen.

Bei einem zentralisierten System wollen Sie wahrscheinlich keinen ungeprüften/unkompilierbaren Code einchecken...

Dies hängt wiederum von Ihrer Organisation ab.

2voto

annakata Punkte 72408

Äh, beides...

Sie sollten Ihre Arbeit immer dann überprüfen, wenn sie stabil ist - das wird sehr oft der Fall sein. viele Zeiten in der Entwicklung.

Alle Quellcode-Repositories haben eine Versionskennzeichnung, mit der Sie die Release-Versionen kennzeichnen, die letztendlich bereitgestellt werden.

Also vor allem Entwicklung, aber auch intrinsische Freisetzungen.

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