2017-04-27 6 views
0

Ich habe eine Frage über einige, wahrscheinlich sehr Nischen-Operation, die möglicherweise oder nicht möglich sein. Ich denke, die Antwort könnte irgendwo in der Nähe sein, aber vielleicht, weil ich die Frage nicht gut formuliert habe, finde ich sie nicht. Also hier geht es:Untracked Dateien in Git Repo

Stellen Sie sich ein einfaches Git Repo mit ein paar Commits, die eine Reihe von Dateien und so gut wie nichts anderes enthalten. Ich möchte eine Binärdatei so hinzufügen, dass git die Datei aktualisiert, wenn sie geändert wird, aber keinen Verlauf speichert. Jedes Mal, wenn die Datei geändert wird, aktualisiert Git die tatsächlichen Daten, nimmt aber ansonsten an, dass sie unverändert sind.

Ziel ist es, eine immer aktuelle Version einer relativ großen Binärdatei zu erhalten, die für das Projekt benötigt wird, sie aber nicht zu verfolgen. Die Operation sollte keine Rebase beinhalten und muss von gängigen Git-Hosts (wie GitHub) unterstützt werden. Edit: auch das Ziel ist es, Git Repo zu klonen, Compile-Skript ausführen und die Ergebnisse sofort erhalten. Also "halte diese Dateien in Dropbox" ist keine Lösung.

Ist das überhaupt möglich? Wo soll ich gucken, Git LFS vielleicht? Scheint nicht ganz das zu sein, was ich will. Danke für jede Eingabe.

Antwort

0

Nein, es ist unmöglich. Das liegt daran, dass git die Änderungen verfolgt, wenn die Datei in git hinzugefügt wird. Wenn Sie also Änderungen vorgenommen haben, wird git es finden.

Es gibt einige Lösungen können Sie sich beziehen:

  • Ignorieren Sie diese Datei in .gitignore.

  • Konvertieren Sie die Binärdatei, wenn möglich, als normale Datei (docx nach txt, xlsx nach csv usw.), und steuern Sie dann die Version.

  • Commit Änderungen normalerweise, und reinigen Sie die alte Version der Binärdatei für einen Zeitraum von git filter-branch.

+0

Ich sehe. Ich kenne 'git filter-branch' und das ist ziemlich genau das, was ich benutze, aber ich habe auf eine Lösung gehofft, die für andere git-repo-Benutzer transparent ist und sie nach der Operation in keiner Weise beeinflusst. – user2333940

Verwandte Themen