Kann man Git auch nur als Repository ohne History zum Sychronisieren nutzen
-
Ich möchte für ein paar Leute in wöchentlichen Abständen Dateien im Internet zur Verfügung stellen.
D.h. es kommt jede Woche eine oder mehrere neue Dateien hinzu.Allerdings möchte ich vermeiden, das meine Leute jedes mal alle Dateien einzeln downloaden müssen.
Insofern suche ich nach einer plattformunabhängigen und gut zugänglichen Lösung, mit dem sie ihren Ordner mit meinem synchronisieren und auf einen Rutsch auf den neuesten Stand bringen können.Ich dachte hierzu auch an rsync, allerdings ist das mit dem hier zur Verfügung stehenden Server nur umständlich möglich.
Git wäre hier allerdings vorhanden, damit würde es gut gehen.
Allerdings möchte ich dann keine History haben.
D.h. es sollte nur möglich sein den neusten Ordnerzustand downzuladen.Kann man das in Git irgendwie einstellen?
Z.B. das die History gelöscht wird und eine Rekunstruktion der alten Zustände somit nicht möglich ist?
-
Was spricht gegen Dropbox?
MfG SideWinder
-
Dafür soll man Git nicht verwenden. Hatte neulich noch einen Link dazu. Wobei ich das aktuell auch als Installer misbrauche. Ist einfach verdammt bequem.
Aber andere Tools wie Dropbox wurden ja bereits empfohlen.
-
Dozent_2 schrieb:
Ich möchte für ein paar Leute in wöchentlichen Abständen Dateien im Internet zur Verfügung stellen.
D.h. es kommt jede Woche eine oder mehrere neue Dateien hinzu.Allerdings möchte ich vermeiden, das meine Leute jedes mal alle Dateien einzeln downloaden müssen.
Insofern suche ich nach einer plattformunabhängigen und gut zugänglichen Lösung, mit dem sie ihren Ordner mit meinem synchronisieren und auf einen Rutsch auf den neuesten Stand bringen können.Ich dachte hierzu auch an rsync, allerdings ist das mit dem hier zur Verfügung stehenden Server nur umständlich möglich.
Git wäre hier allerdings vorhanden, damit würde es gut gehen.
Allerdings möchte ich dann keine History haben.
D.h. es sollte nur möglich sein den neusten Ordnerzustand downzuladen.Kann man das in Git irgendwie einstellen?
Z.B. das die History gelöscht wird und eine Rekunstruktion der alten Zustände somit nicht möglich ist?Wieso möchtest du keine History haben? Kommen irgendwann neue Leute hinzu, die die alten Versionen nicht sehen sollen?
Es gibt auch git-annex, mit dem man Dateien mit git verwaltet, ohne sie einzuchecken.
Jedoch: Vermeiden, dass Dateien einzeln heruntergeladen werden müssen lässt sich auch mit Datei-Archivierern wie tar oder zip.
Oder willst du, dass alle derzeit verfügbaren Dateien, d.h. auch die alten, aber ohne Versionshistorie, "auscheckbar" und gleichzeitig "updatebar" sind? Dann benötigst du wirklich ein VCS, in dem du einfach nichts änderst. Falls das Ändern Teil des Workflows ist, würden beim Update alte Dateien mit der neuen Version überschrieben. Das ist für die Benutzer unintuitiv wenn sie diese Dateien selbst anfassen, diese also nicht nur z.B. Teil eines Builds sind. Du solltest also etwas klarer definieren, was dein geplanter Use-Case ist. Dein Alias lässt mich an Übungszettel oder Vorlesungsmaterialien denken, welche nicht ohne Einverständnis des Users oder ohne Versionshistorie geändert werden sollten.
Dropbox hat übrigens auch eine Versionshistorie.
Die Versionshistorie in deinem veröffentlichten Git-Repository kannst du nach belieben löschen und neuschreiben -- für deine User wird das vermutlich ziemlich unbequem, und du kannst sowieso nicht garantieren, was mit den Kopien der alten Versionen geschieht.
-
dropbox wäre Hochschule extern.
xxdf aasdf df das schrieb:
Wieso möchtest du keine History haben? Kommen irgendwann neue Leute hinzu, die die alten Versionen nicht sehen sollen?
Im nächsten Semester, also ja.
Es gibt auch git-annex, mit dem man Dateien mit git verwaltet, ohne sie einzuchecken.
Das sagt mir nichts.
Wenn es ohne git Server ist, dann bringt das wohl nichts.Jedoch: Vermeiden, dass Dateien einzeln heruntergeladen werden müssen lässt sich auch mit Datei-Archivierern wie tar oder zip.
Inwiefern?
Es kommen ja jede Woche neue Dateien hinzu und komplett alles jede Woche noch einmal Downloaden ist ja nicht Sinn der Sache.
Oder willst du, dass alle derzeit verfügbaren Dateien, d.h. auch die alten, aber ohne Versionshistorie, "auscheckbar" und gleichzeitig "updatebar" sind?
Wie schon gesagt, es sollten immer nur die aktuellsten Dateien downloadbar sein.
Auf gelöschte Dateien oder alte Versionen von Dateien die verändert wurden, soll nicht mehr zugegriffen werden können.
Und das Ganze dann mit der Möglichkeit einen bestehenden Ordner (z.B. mit altem Bestand) auf den neusten Stand synchronisieren zu können.Dann benötigst du wirklich ein VCS, in dem du einfach nichts änderst. Falls das Ändern Teil des Workflows ist, würden beim Update alte Dateien mit der neuen Version überschrieben. Das ist für die Benutzer unintuitiv wenn sie diese Dateien selbst anfassen, diese also nicht nur z.B. Teil eines Builds sind. Du solltest also etwas klarer definieren, was dein geplanter Use-Case ist.
Steht eigentlich oben alles eindeutig da.
EDein Alias lässt mich an Übungszettel oder Vorlesungsmaterialien denken, welche nicht ohne Einverständnis des Users oder ohne Versionshistorie geändert werden sollten.
Exakt.
Die Versionshistorie in deinem veröffentlichten Git-Repository kannst du nach belieben löschen und neuschreiben -- für deine User wird das vermutlich ziemlich unbequem,
Das gilt nur, wenn sie selbst Dateien verändern.
Aber das wird nicht passieren, wenn sie ihre eigenen Dateien in andere Ordner auslagern und dort dann mit Kopien weiterarbeiten.und du kannst sowieso nicht garantieren, was mit den Kopien der alten Versionen geschieht.
Es soll verhindert werden, dass Leute die letzten Folien vom alten Semester downloaden können, wo es z.B. schon Lösungen für die Folien oder Übungsaufgaben gibt oder Folien, die noch nicht in der Vorlesung besprochen wurden.
Eine Passwortfunktion sollte auch vorhanden sein, damit nur Leute des Kurses auf die Materialien zugreifen können.
-
Wäre vielleicht sowas wie Ilias, was du suchst?
Kann man auch mit WebDAV erweitern oder z.B. ganze neue Ordner als Zip herunterladen. Wird an meiner Hochschule für die Unterlagen der Vorlesungen verwendet.Gibt auch Alternativen, wie z.B. Moodle.
Grüssli
-
Dozent_2 schrieb:
Es soll verhindert werden, dass Leute die letzten Folien vom alten Semester downloaden können, wo es z.B. schon Lösungen für die Folien oder Übungsaufgaben gibt oder Folien, die noch nicht in der Vorlesung besprochen wurden.
Eine Passwortfunktion sollte auch vorhanden sein, damit nur Leute des Kurses auf die Materialien zugreifen können.
Die klassische Lösung ist eine eigene http-Seite pro Semester, auf der die gezippten Materialien verlinkt sind, welche über htaccess gesichert sind. Das ganze ist einfach, robust, zukunftssicher. Es bietet kein inkrementelles Update, da es pro Semester jedoch selten mehr als 20 Materialien-Bündel gibt, ist dieses ohnehin überflüssig.