Reemplaza el repository de GitHub mientras conservas problemas, wiki, etc.

Tengo un repo en GitHub con muchos problemas allí. Quiero replace todo el código base de ese repository por uno nuevo, pero quiero conservar toda la información anterior.

¿Cuál es la mejor manera de hacerlo sin estropear el código ni GitHub?

  • cd en el repository "nuevo"
  • git remote add origin git@github.com:myusername/myrepository (reemplazando myrepository y myrepository consecuencia)
  • git push --force origin master
  • Posiblemente elimine otras twigs remotas y presione otras nuevas.

Esto replaceá forzosamente todo en el repository remoto con lo que tiene localmente. Ten mucho cuidado, no hay marcha atrás.

Dado que git push --force origin master no conserva las confirmaciones de código del proyecto anterior, creo que esta pregunta necesita otra respuesta. Ya hice una respuesta para un proyecto de Android Studio, pero no es muy diferente usar Git exclusivamente.

Llamaré al proyecto anterior en GitHub que desea replace MyProject .

Respalda tu nuevo proyecto

Cambie el nombre de su proyecto actual (o cópielo en una nueva location y elimine la carpeta con el nombre original del proyecto. Clonaremos la versión anterior del proyecto desde GitHub a esta location).

Clona el viejo proyecto de GitHub

Vaya al directory en el que desea que se ejecute su proyecto y ejecute

 git clone https://github.com/username/repo.git 

Reemplace username con su nombre de usuario de GitHub y repo con su nombre de repository.

Eliminar todos los files antiguos

Puedes probar

 git rm -r * 

Pero si eso no funciona (ya que no funcionó para mí), entonces elimínelos manualmente con rm o un administrador de files. Sin embargo, no elimine la carpeta .git y .gitignore .

Entonces, si los borraste manualmente, necesitas actualizar git.

 git add -u git commit -m "deleting old files before adding updated project" 

Agregue los nuevos files

Copie en todos los files de su nuevo proyecto que hizo una copy de security previamente. Ahora hazle saber a Git que quieres agregarlos al repository.

 git add . git commit -m "new updated project" 

Presiona tus cambios a GitHub

 git push 

Ahora su nuevo proyecto estará en GitHub, pero el historial de confirmaciones del proyecto anterior seguirá estando disponible.