¿Cómo agrego un submodule de git en un directory no vacío?

Estoy tratando de agregar un submodule en una carpeta no vacía dentro de un repository con:

git submodule add repo_path.git non_empty_folder 

Recibo el siguiente post:

 'non_empty_folder' already exists and is not a valid git repo 

¿Es posible forzar la creación del submodule? ¡Gracias!

  • Cree un nuevo repository de submodule fuera del repository principal del proyecto.
  • Rsync files del directory que desea convertir en un submodule en su proyecto principal.
  • Confirme estos files en el repository de submodules y empújelos al origen.
  • git remove todos los files en el directory de submodules en el proyecto principal
  • Confirmar cambios en el proyecto principal
  • Ahora estás listo para crear un submodule

Una palabra de precaución. Sugeriría usar una herramienta visual como SourceTree para ayudarlo a administrar submodules. Es una característica avanzada de git y si no se maneja adecuadamente, le dará mucho dolor. Por otro lado, si se usa adecuadamente, es muy poderoso y puede ayudarlo a evitar la duplicación de código.