Git - Rebasieren einer Datei in den früheren Verlauf dieser Datei

Git - Rebasieren einer Datei in den früheren Verlauf dieser Datei

Nehmen wir an, ich habe eine Datei filenamein einem Git-Repository im Unterverzeichnis dir1mit einem Verlauf wie diesem:

v7 --- v8 --- v9 --- v10

Die Datei ist Teil eines größeren Repositorys mit verschiedenen Unterverzeichnissen, aber nur die oben genannten Änderungssätze betreffen diese Datei. Jetzt habe ich ( filenameauch) eine alte Version dieser Datei ausgegraben, die versehentlich in ein anderes Unterverzeichnis übertragen wurde dir2. Diese ältere Version „existiert“ nur in einem Änderungssatz, sagen wir:

v4

Das Problem besteht nun darin, ob ich den Verlauf dieser beiden Dateien (in Git) umschreiben kann, sodass es so aussieht, als ob sie filenamenur in existiert hätten dir1. Das Ergebnis wäre dann etwa dieser Verlauf:

v4 --- v7 --- v8 --- v9 --- v10

Ich könnte wohl versuchen, die Datei in zu entfernen dir2und sie als neue Version der Datei in zu bestätigen dir1, aber dadurch wird der tatsächliche Verlauf der Datei durcheinandergebracht, sodass die tatsächlich älteste Version der Datei als die neueste angezeigt wird.

Ich habe sehr wenig Erfahrung mit dem „Optimieren“ des Verlaufs von Git-Repositorys und weiß daher nicht, wie das geht, aber ich vermute, dass Rebase die Lösung sein könnte. Ich bin der Einzige, der am Repository arbeitet, daher besteht meine einzige Sorge darin, diese Änderungen auf beiden Computern zu synchronisieren.

Ich schätze, ich möchte die Datei eigentlich einfach dort belassen, dir2wo sie ursprünglich im Verlauf war, aber ich möchte das oben aufgerufene Commit ändern, v4um aus der Datei eine Version der Datei in zu machen dir1.

verwandte Informationen