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
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
.
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).
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.
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"
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"
git push
Ahora su nuevo proyecto estará en GitHub, pero el historial de confirmaciones del proyecto anterior seguirá estando disponible.