Frage

Ich suche nach guten Vorschlägen zur Implementierung der Versions- und Quellcodeverwaltung für Webprojekte.

Ich habe mir Subversion angesehen, aber es scheint sich nur um Code zu kümmern.Ich bin wirklich auf der Suche nach etwas, das gute Versionierung, Verzweigung, Archivierung usw. kann.nicht nur mit Quellcode, sondern auch mit anderen Web-Assets wie Kunstdateien, Filmclips und sogar Datenbanksicherungen.

Wir arbeiten in einer gemischten Mac/PC-Umgebung, daher wäre Visual Source Safe oder alles, was rein PC-basiert ist, ein Tabu.Irgendeine Hilfe?

War es hilfreich?

Lösung

Alle von mir verwendeten Versionskontrollsysteme (CVS, Subversion, Git) verarbeiten sowohl Binärdateien als auch Text.Wenn Sie mit Designern mit begrenzter Erfahrung in der Versionskontrolle zusammenarbeiten, bietet Subversion derzeit eine bessere Auswahl an GUIs.Auf dem PC gibt es keinen Ersatz dafür TortoiseSVN, und für den Mac habe ich Gutes gehört Versionen.

Andere Tipps

Was lässt Sie denken, dass Sie keine Versionen, Zweige, Archivierungen usw. erstellen können?Grafikdateien mit Subversion?

Ich habe Subversion für meine Programme verwendet, die Grafiken enthalten, und es scheint damit gut zurechtzukommen.(Nun, das Verändern ist ein Problem, aber ich habe noch nie von einem guten Programm zum Verändern von Bildern gehört.)

Sie können jede Art von Datei zu Subversion hinzufügen.Wenn es sich um Binärdateien handelt, handelt es sich bei der gespeicherten Version lediglich um eine Kopie, während bei Textdateien nur Unterschiede gespeichert werden.Das Speichern dieser anderen Dateitypen in Subversion ist jedoch völlig in Ordnung.

Die Verwendung von Shell-Add-Ins (Tortoise unter Windows) macht dies ziemlich einfach.Ich habe keine Erfahrung mit Mac-Clients, kann mir aber vorstellen, dass es da draußen Möglichkeiten gibt.

Die anderen haben darauf hingewiesen, dass Subversion und seine Verwandten keine Probleme mit Binärdateien haben (wenn auch nicht annähernd so platzsparend wie Text).Interessanter ist jedoch die Anforderung an die Datenbanksicherung, auf die ich mehr als einmal gestoßen bin.

Idealerweise möchte ich eine Textdarstellung des Unterschieds zwischen zwei Versionen einer Datenbank (Schema und Daten).Wenn Sie einen solchen Unterschied anwenden, gelangen Sie von einer Version zur nächsten.Die Quellcodeverwaltungs-Engine könnte dies einfach bei jedem Commit speichern.Rails-Migrationen sind eine raffinierte Möglichkeit, mit Schemaunterschieden umzugehen, aber ich habe noch nichts gesehen, das vollständige Schema- und Datenunterschiede in einem einfachen Textformat verarbeiten kann.

Andernfalls könnten Sie vermutlich einen Textdatenbank-Dump wie den Typ „the“ einchecken mysqldump Befehl für MySQL generiert.Der Diff-Algorithmus des Quellcodeverwaltungstools wird dies wahrscheinlich nicht effizient verarbeiten, aber er benötigt wahrscheinlich weniger Speicherplatz als das Einchecken einer undurchsichtigen binären Datenbankdatei.

Ich verwende immer noch Subversion und unter Windows verwende ich TortoiseSVN, das TortoiseIDiff speziell zum Betrachten der Unterschiede zwischen Bilddateien enthält.

Ich habe verwendet Idiot seit mehreren Wochen und es hat mir sehr gut gefallen.Es ist plattformübergreifend, bewältigt Konflikte außergewöhnlich gut und stellt jedem sein eigenes vollständiges Versions-Repository zur Verfügung, sodass er Änderungen auch dann einchecken kann, wenn er nicht mit einem Netzwerk verbunden ist.

Viele hochkarätige Projekte verwenden mittlerweile Git, darunter auch Ruby on Rails.

Subversion hat vorkompilierte Binärdateien für Mac OS X.Es ist auch erhältlich über MacPorts Und Fink.Es gibt ein paar tolle Schnittstellen (neben der Befehlszeile). svnX ist ein Open-Source-Client, den es wie bereits erwähnt schon seit einiger Zeit gibt Versionen ist ein sehr gut aussehender Closed-Source-Client, der sich derzeit in der Betaphase befindet.Das solltest du trotzdem Machen Sie sich mit der Befehlszeile vertraut, da Sie auf Probleme stoßen werden, die diese GUI-Clients nicht lösen können.

Subversion verarbeitet Binärdateien sehr gut.Ich habe es in der Vergangenheit für Webprojekte verwendet und Bild- und Flash-Dateien mit dem Code, der sie verwendet hat, erfolgreich versioniert.

Mac hat etwas namens „Version“, das eine Subversion-Benutzeroberfläche wie „Tortoise SVN“ ist. Ich fand es benutzerfreundlich und effektiv.

Ich arbeite auch in einer Mac/PC-Umgebung (verdammt künstlerisch begabte Kinder) und Subversion ist wirklich der richtige Weg.Ich bewahre dort alle Texte, Bilder, Abfragen und Codes auf.

Nachdem ich ihnen das Konzept erklärt hatte, fanden meine nicht technisch versierten Kollegen die Bedienung einfach.

Ich würde Subversion auf jeden Fall noch einmal unter die Lupe nehmen.Ich weiß, es mag langweilig sein, aber das Lesen des SVN-Buches wird eine große Hilfe sein.

Ich persönlich verwende Versionen für den Mac.Es verfügt über eine wirklich großartige Benutzeroberfläche für die Interaktion mit einem Subversion-Repo.

Ich checke das /Trunk-Verzeichnis eines Projekts im Stammverzeichnis der Site aus.Auf diese Weise kann ich die Arbeitskopie als mein tatsächliches Entwicklungs-Setup testen und ausführen.Sobald ich bereit bin, live zu gehen, kann ich die Dateien aus den Repo Sans .svn-Ordnern exportieren und auf einen Produktions- oder Staging-Server hochladen.Ich hoffe, dies gibt Ihnen eine Vorstellung davon, welche Art von Workflow Sie mit Subversion haben können.

Ich denke, SVN ist eine gute Wahl. Einige Benutzer können Git sogar für lokale Verzweigungen verwenden.Ich führe Eclipse auf meinem Mac aus, also verwende ich eine Kombination aus Git, SVN-Befehlszeile und Subversive (ein Eclipse-Plugin für SVN).Hier ist eine Liste der Mac-SVN-Clients (die meisten sind plattformübergreifend)

http://scplugin.tigris.org/ wie TortoiseSVN, aber nicht so funktionsreich)
http://subcommander.tigris.org/
http://rapidsvn.tigris.org/
http://www.versionsapp.com/
http://www.syncrosvnclient.com/ (nicht kostenlos 59 $)
http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

Um die Quellcodeverwaltung mit einer Datenbank zu verwenden, müssen Sie wahrscheinlich eine textbasierte Darstellung des Schemas und der Daten erstellen.Sie sollten dies einmal täglich automatisch ausführen lassen und die Änderungen in Ihr Repository übertragen.

Beachten Sie, dass ein DBMS möglicherweise die Reihenfolge der Zeilen in einer Datenbank ändert, um einige Vorgänge effizienter zu gestalten.Dies könnte dazu führen, dass zwei Dumps unterschiedlich aussehen, ohne tatsächlich unterschiedliche Daten zu haben.Stellen Sie sicher, dass das, was den Dump Ihrer Daten erstellt, nach dem Primärschlüssel jeder Tabelle sortiert wird und dass die Tabellen in einer definierten Reihenfolge vorliegen, sodass die Änderungen, die Sie sehen, wenn Sie zwei Dumps vergleichen, nur die wichtigen Änderungen sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top