Ich habe eine Datei "npz, spezies_coex.npz", die irrtümlich zu meinem Git-Repository hinzugefügt wurde. Nachdem ich meinen Fehler erkannt hatte, entfernte ich ihn mit git rm. Jetzt habe ich herausgefunden, dass der Gitarist immer noch davon weiß (was normalerweise gut ist, aber ich möchte, dass git es komplett vergisst, als ob es nie an erster Stelle hinzugefügt worden wäre).Eine Datei dauerhaft aus einem Repository entfernen, git
Ich habe über den Filter-Zweig-Befehl gelesen, aber möchte es nicht verwenden, wegen all der Warnungen darüber, wenn dies nicht möglich ist, sagen Sie es mir.
ich this gelesen haben, sie empfehlen:
$ git filter-branch --tree-filter 'rm -f "npz, species_coex.npz" ' HEAD
ich den Fehler:
fatal: ambiguous argument 'npz, species_coex.npz': unknown revision or path not in the working tree
Ich bin nicht sicher, warum dieses Problem, weil der Leerraum auftritt (die Ich vermute nicht, wie ich es in Anführungszeichen gesetzt habe) oder weil die Datei nicht im aktuellen Kopf ist? Wie kann ich ihm sagen, wo diese Datei gefunden wird?
Und gibt es einen Weg, wie ich das ohne Filterzweig machen kann? Ich habe nur die Datei einmal hinzugefügt und dann entfernt, so ist es Geschichte ist ganz einfach
Der '--tree-Filter' ist extrem langsam, aber die zitierte Empfehlung sollte funktionieren. Es scheint, dass Sie 'git rm' und nicht nur' rm' in Ihrem 'filter-branch' verwendet haben.Verwenden Sie "BFG" (suchen Sie nach dem Namen), um unerwünschte Dateien viel schneller zu entfernen. Beachten Sie jedoch, dass es das gleiche Problem wie bei einem Filterzweig hat: Sie müssen das Repository oder zumindest alle Teile an und nach der "schlechten" Datei in neue Commits kopieren, die nicht mehr mit den ursprünglichen Commits kompatibel sind, und * alle * muss sich dann ändern, um dies zu berücksichtigen. – torek