Entfernen Sie gelöschte Dateien aus dem git-Historie
Ich versuche zu splitten, ein Teilprojekt von meinem git-repository.
Jedoch anders als in
Trennen (Umzug) Unterverzeichnis in separaten Git repository
Ich habe es nicht in einem eigenen Unterverzeichnis (und bewegen und dabei die oben nur ergibt sich die Geschichte nach dem verschieben).
Habe ich geklont, der Zweig, von dem ich möchten, teilen Sie das Unterprojekt in das eigene repository und entfernt alles, was nicht verwendet wird, indem Sie das Teilprojekt, also im Grunde könnte ich das als repository für mein Teilprojekt.
Ich jetzt loswerden möchten, ist die Historie aller Dateien, die nicht mehr in das repository so, dass nur halten Sie die Datei-history für die Dateien, die in den Nachkommen.
Ich denke, es muss möglich sein, mit git-filter-branch, aber ich kann nicht herausfinden, wie
Vielen Dank im Voraus
- Siehe auch Neues repo mit kopierten Geschichte nur zurzeit verfolgt-Dateien.
- hast du eine Lösung gefunden dafür? Ich habe genau das gleiche problem jetzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier sind einige Anweisungen, um zu tun, was Sie wollen.
Dadurch entfernen
file_to_remove
:Ok jetzt versuche ich mit der folgenden Technik, werde berichten, wenn es geklappt hat, weil es scheint zu sein, ziemlich lange laufen:
Auf eine zsh oder bash AUF EINEM GEKLONTEN Repository
um alle gelöschten Dateien
Könnte dies extrem dangeours für Ihre Daten, so versuchen Sie nur über Klone.
git filter-branch
Befehl einmal für jede Datei, zusammen mit einer Menge anderer Befehle (git gc
ist nicht Billig, noch schnell den Befehl ausführen) anstelle von Ausführung einmal für alle Dateien, so ist es wohl äußerst ineffizient. Siehe die Kommentare unter Neues repo mit kopierten Geschichte nur zurzeit verfolgt-Dateien.