Ich hätte gerne ein Git-Repository, das hauptsächlich aus Binärdateien besteht.
Ich muss die geänderten, hinzugefügten und entfernten Dateien im Repository nachverfolgen, aber ich möchte nicht, dass git den Inhalt der Dateien selbst versioniert.
Mit anderen Worten, ich brauche nur für git, um Änderungen zu verfolgen (Änderungsprotokoll), aber nicht den Inhalt.
Ist das überhaupt möglich mit git?
Sollte ich etwas anderes dafür verwenden?
git ist ein Inhalts-Tracker. Wenn Sie also keine Inhalte verfolgen möchten, klingt es so, als wäre es das falsche Werkzeug für den Job. Ich bin mir nicht sicher, wie Sie Änderungen an Dateien verfolgen würden, ohne deren Inhalt zu verfolgen.
Von @ Tobus Antwort bis zu diesem verwandte Frage :
Um binäre Dateien zu versionieren und zu verbreiten, ohne sie tatsächlich in git zu speichern, versuchen Sie git-annex .
Wenn Sie die Bins nicht speichern möchten, können Sie ein binäres Diff-Tool für die Dateien verwenden und dann die Ausgabe in die Versionskontrolle überführen. Alle Textänderungsprotokolleinträge können dann in die Übergabenachricht eingegeben werden.
Vielleicht verstehe ich Ihre Frage nicht, aber was, wenn Sie den Zeitstempel aller Dateien in einer Textdatei speichern? Dann könnten Sie nur diese Datei in der Versionskontrolle speichern und Ihr VCS die verschiedenen Versionen davon unterscheiden lassen.
aber ich möchte nicht, dass git den Inhalt der Dateien selbst versioniert.
Genau das ist Git Large File Storage (LFS) (von GitHub, April 2015).
Das Projekt ist git-lfs (siehe git-lfs.github.com ) und ein mit dem Server getesteter Server: lfs-test-server :
Sie können Metadaten nur im git-Repository und die große Datei an anderer Stelle speichern.
Große Dateien werden separat über HTTPS mit einem konfigurierbaren Git LFS-Server synchronisiert. Sie sind also nicht darauf beschränkt, wohin Sie Ihr Git-Repository schieben.
Große Dateien werden nur dann vom Server synchronisiert, wenn sie ausgecheckt sind. Ihr lokales Repository trägt nicht das Gewicht jeder Version jeder Datei, wenn sie nicht benötigt wird.
Die Metadaten in Git gespeichert sind erweiterbar für die zukünftige Verwendung. Es enthält derzeit einen Hashwert für den Inhalt der Datei und die Dateigröße, damit Clients beim Herunterladen oder beim Ablehnen eines großen Downloads eine Fortschrittsanzeige anzeigen können.
Tags und Links git file binary versioning