¿Cómo crear un repository de git con su propio historial a partir de instantáneas?

La situación

  • Tengo un proyecto en el que he estado trabajando antes de usar sistemas de control de versiones (VCS).
  • Solía ​​copyr y pegar todo el proyecto a medida que avanzaba para save "instantáneas" de mi trabajo a fin de tener un historial que recordar.
  • Desde entonces, pasé a utilizar sistemas de control de versiones para mis otros proyectos más recientes, ya que el uso del enfoque "copyr, pegar – instantánea" se ha convertido en una pérdida masiva de espacio y tiene poca utilidad.

Gol

Me gustaría crear un repository que represente correctamente las etapas de desarrollo.

Mi plan

  • Cree un nuevo repository e inicialícelo utilizando la carpeta de instantáneas más antigua.
  • Realice confirmaciones sustituyendo la carpeta anterior por la siguiente carpeta de instantáneas más reciente, mientras mantiene la carpeta oculta .git .
  • Repita el paso 2 hasta que git se actualice con la instantánea más reciente, es decir, el directory de trabajo actual.

Pregunta

  • ¿Es esta una forma viable de lograr esto?
  • En caso afirmativo, ¿hay alguna mejora que pueda hacer en este enfoque?
  • Si no, ¿cómo debería hacer esto?

Información Adicional

Estoy dispuesto a usar el cliente de GitHub, Git Bash, git shell o cualquier cosa para poder hacer esto. Me siento más cómodo con el software de cliente GitHub, pero estoy más que feliz de aprender otros methods.

Pregunta extendida

Si quería dates correctas, ¿debería cambiarlas a través de las variables de entorno GIT_AUTHOR_DATE y GIT_COMMITTER_DATE (que no sé cómo hacer), o no vale la pena la molestia? ¿O los metadatos (properties) del file mantendrán esta información al comprometerlo? Esto sería por razones estéticas en su mayoría (por lo que puedo pensar), ya que estaría cometiendo los files cronológicamente de todos modos.

EDITAR: Resultado

Usé los pasos enumerados en "Mi plan" y funcionó a la perfección.

En mi humilde opinión, su método planificado está bien.

Al decir replace la carpeta anterior por la siguiente carpeta de instantáneas más recientes , debe tener cuidado de que realmente esté reemplazando: elimine todo en el repository excepto la carpeta .git y luego agregue el contenido de la siguiente carpeta de instantáneas.

Si no lo haces de esa manera, no notarás las eliminaciones entre las instantáneas correctamente.

No jugaría con GIT_AUTHOR_DATE y GIT_COMMITTER_DATE less que tenga una relación de una determinada confirmación con una date determinada (por ejemplo, debe saber qué versión de su website fue en vivo el 01/01/2015 o algo así).

Incluso si necesita conectar una determinada confirmación a cierto estado, searchía una label en ese caso (por ejemplo, git tag website_01_01_2015 ).