Ich habe ein Projekt unter Versionskontrolle, aber das Projekt hat einige Bilder, Videos und Zip-Dateien, die sich so oft ändern. Ich möchte diese Dateien nicht unter Versionskontrolle speichern, da sie viel Speicherplatz belegen und Aktualisierungen und Commits sehr langsam machen.
Was ist eine gute Methode, um mit diesem Problem umzugehen und weiterhin nicht geänderte Quelldateien zu übernehmen? Gibt es einen besseren Weg?
Ich verwende derzeit Subversion, wenn es einen anderen Versionskontrollclient gibt, der besser für dieses Problem geeignet ist, empfehlen Sie es bitte!
Sie haben einen Kommentar hinzugefügt:
Das Problem dabei ist, dass mir die Versionsgeschichte dieser Zip / Video-Dateien egal ist, solange sie die neuesten sind, gibt es kein Problem.
Das bedeutet, dass Sie einen linearen Entwicklungsablauf haben, der nur auf der LETZTEN Seite eines Hauptzweigs arbeitet.
Sie scheinen nicht mit der Phase "nach der Veröffentlichung" zu tun, wo Sie müssen:
In den letzten drei Fällen könnte die Frage "Was waren die exakten Bilder, Videos und zip-Dateien, die ich verwenden soll" oder "die ich gerade verwendet habe" wichtig werden.
Wenn Sie der Meinung sind, dass SVN sie nicht angemessen behandelt, würde ich dennoch empfehlen, sich daran zu erinnern, dass Sie für die SVN-Revision xxx bis yyy die Version 'z' Ihrer Binärdateien verwendet haben.
Dazu könnten Sie ein externes Repository wie Maven einrichten. Siehe Frage " Ist es akzeptabel / gut zu speichern Binärdateien in SVN? "(meine Antwort in dieser Frage befindet sich ganz oben auf der Seite, aber ich verlinke direkt auf Evans Antwort, als er Maven erwähnt).
Ich habe viele nicht-Quelldateien in SVN und die einzige Zeit, die es verlangsamt, ist, wenn ich sie ändere. Ich sehe nicht, wie das ein Problem ist, wenn sie nur "von Zeit zu Zeit" wechseln. Auch die Größe sollte eigentlich keine Rolle spielen. Wenn sich Ihr Repository auf einem Server befindet und Sie sich Sorgen darüber machen, wie viel Speicherplatz benötigt wird, müssen Sie ein Upgrade durchführen. Festplatten sind billig. Kaufen Sie sie.
Einige Leute sind der festen Überzeugung, dass Nicht-Quelldateien nicht in die Quellcodeverwaltung gehören. Ich sage, dass ein ganzes Projekt in der Quellcodeverwaltung gespeichert werden sollte. Auf diese Weise kann ich, wenn mein Entwicklungssystem ausfällt, zu einem anderen wechseln, und nach ein paar Minuten des Herunterladens des Projekts bin ich wieder beim Programmieren.
Während ich es sehr schwer finde, mit Nicht-Text-Dateien in der Versionskontrolle umzugehen, besonders solche, die sich sehr ändern, habe ich die Praxis akzeptiert, "wenn es für den Build / Installer benötigt wird, sollte es in Version gehen Steuerung". Das ist natürlich keine harte Regel. Ich halte Bibliotheken von Drittanbietern nicht unter Versionskontrolle (obwohl ich Leute kenne, die das tun).
Ich kam zu dieser Meinung, nachdem ich einen Continuous Integration Server in meinem Shop eingerichtet hatte. Es ist viel einfacher, alles zu haben, was für den Build benötigt wird, der sich ändern kann. Wie bereits erwähnt, behalte ich Bibliotheken nicht unter Versionskontrolle, aber das liegt daran, dass wir selten neue Bibliotheken aktualisieren / hinzufügen. Wenn dies für Ihren Shop nicht der Fall ist, können Sie dies in Betracht ziehen. Auch, wenn Ihre Bilder / Videos / Zip mehr als einmal im Jahr ändern, dann würde ich empfehlen, sie unter Versionskontrolle zu halten.
Tags und Links version-control