Como posso mover todo o conteúdo git um nível acima na hierarquia de pastas?

Tenho um repositório git cuja estrutura se parece com:

+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+webapp
|
+---------+manage.py
+---------+modules
+---------+templates
+---------+static
+---------+...
+---------+...

Gostaria de mover o conteúdo dowebapp pasta um nível acima. Meu repo resultante deve ter a seguinte aparência:

+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+manage.py
+----+modules
+----+templates
+----+static
+----+...
+----+...

Posso fazer isso simplesmente movendo todos os arquivos dowebapp diretório um nível acima, excluindo o @ vazwebapp diretório e, em seguida, confirmar as alterações? Isso preservaria o histórico de consolidação dos arquivos sob owebapp diretório?

Embora seja uma pergunta muito simples para muitos de vocês, gostaria de ter certeza. A última coisa que eu gostaria é de uma sopa gi

Eu tentei mover os arquivos, mas perdi o histórico de confirmação, pois o git não lida com uma mudança ou renomeação. Sei que, embora ele apareça como um novo arquivo nos logs, ainda é possível visualizar o histórico de consolidação do arquivo usando algumas opções emgit log.

Pelo que li, a melhor maneira de conseguir isso seria usandogit-filter. Eu não sou muito bom com shell ou git, então alguém poderia me dizer o que eu precisaria executar para fazer o mencionado acim

questionAnswers(7)

yourAnswerToTheQuestion