Изменение структуры git

Я хочу как-то изменить структуру каталогов git. В настоящее время архитектура похожа на

VL(repo)    
    .git (hidden)    
     code files    
     ......    
     .....

I want it like

html(repo)
    .git   
     VL
       code files
       ......
       ......

У меня было решение архивировать текущее репо, а затем создать новое репо с указанной выше структурой. Но плохой подход к этому подходу состоит в том, что он удаляет всю предыдущую историю. есть ли лучшее решение?

Ответ 1

Изменение имени корневой папки с VL до html не должно быть проблемой, поскольку git работает только с каталогами ниже этого уровня.

Итак, что осталось, введите папку VL ниже папки html и переместите все code files там:

mkdir VL
git mv <all your code> VL
git commit -m "moved all my code under VL"

Используя git mv, вы сообщите git, что вы переехали, поэтому он все равно может отслеживать историю.


Edit:
Как отмечает Бенджол в своем комментарии, использование git mv не обязательно. Вы могли бы добиться этого, скопировав <all your code> в VL, затем выполните

  • git add VL
  • git rm <all your code>
  • git commit -m "moved all my code under VL

git достаточно умен, чтобы распознать движение.

Ответ 2

Переместите свой код вручную. Тогда

git add -A
git commit -m "moved code"

Готово.