Переместить git-репозиторий в подкаталог по тому же пути, сохранив при этом всю его историю
У меня есть git-репозиторий с>100 коммитами, которые я инициализировал некоторое время назад по следующему пути:
/Users/myusername/
Тем не менее, все мои коммиты на самом деле для файлов в пути:
/Users/myusername/excess/folders/not/requiring/version/control/project_root/
Я должен был инициализировать хранилище в project_root/
потому что мне не нужно ничего контролировать версией в верхних каталогах.
Есть ли простой способ изменить путь моего хранилища, чтобы верхний уровень хранилища был project_root/
сохраняя при этом мою историю версий как есть? Существуют ли дополнительные шаги, чтобы это отразилось и в моем удаленном репозитории, или я просто фиксирую и нажимаю после внесения изменений?
1 ответ
Если что-то пойдет не так, вы можете удалить скопированное .git*
файлы и начать все сначала. Вот что вы можете сделать:
$ cp -r .git* path/to/project_root/
$ cd path/to/project_root/
$ git add -A .
Когда вы звоните git status
все, что вы должны увидеть, это переименовывать и удалять сейчас. Если все выглядит хорошо, вы можете удалить .git*
в предыдущем корне.
Также помните, что любые файлы, которые существовали в истории, останутся там, что требует другой операции для очистки, если у вас есть файлы учетных данных и т. Д.