2017-05-25 3 views
2

ich ein Git Repository mit> 100 verpflichtet, dass ich eine Weile zurück in folgendem Pfad initialisiert:Verschieben git-Repository in ein Unterverzeichnis in dem gleichen Weg, während alle seine Geschichte zu bewahren

/Users/myusername/

jedoch alle tatsächlich für Dateien im Pfad meiner Commits sind:

/Users/myusername/excess/folders/not/requiring/version/control/project_root/

ich das Repository in project_root/ initialisiert sollte, weil ich die Versionskontrolle nicht brauchen alles in den oberen Verzeichnissen.

Gibt es eine einfache Möglichkeit, den Pfad meines Repositorys zu ändern, so dass die oberste Ebene des Repository project_root/ ist, während auch meine Versionshistorie beibehalten wird, wie es ist? Gibt es zusätzliche Schritte, um dies auch in meinem Remote-Repository widerzuspiegeln, oder versetze und drücke ich einfach, nachdem ich die Änderung vorgenommen habe?

+0

Wo haben aufzuräumen es jetzt ist? In 'Kontrolle /'? – ElpieKay

+0

@ElpieKay das Repository befindet sich derzeit in '~' leider, obwohl alle commits für Dateien und Ordner innerhalb 'project_root /' sind. Ich habe gerade einige Änderungen vorgenommen, die hoffentlich klarstellen. – isosceleswheel

Antwort

3

Wenn etwas schief geht, können Sie die kopierten .git* Dateien löschen und neu beginnen. Hier ist, was Sie tun können:

$ cp -r .git* path/to/project_root/ 
$ cd path/to/project_root/ 
$ git add -A . 

Wenn Sie git status nennen, alles, was Sie Umbenennungs sehen sollten und entfernt jetzt. Wenn alles gut aussieht, können Sie .git* im vorherigen Stamm löschen.

auch aufpassen, dass alle Dateien in der Geschichte gab es bleiben, dass eine weitere Operation erforderlich, wenn Sie Credential-Dateien usw.

+0

Ein Problem ist, dass es in 'excess/folders/not/requiring/version/control /' eine ganze Menge Sachen gibt, die ich behalten muss, damit ich das nicht löschen kann. Ich aktualisiere meine Frage, um diese und andere Einschränkungen zu berücksichtigen. – isosceleswheel

+0

Ja, und ich habe einen anderen Punkt in Ihrer Frage übersehen. Ich werde es in Kürze aktualisieren. – hurturk

Verwandte Themen