Ayer me encontraba en la situación de haberle cambiado de nombre a un script en mi máquina, y como necesitaba subirlo a CodeBerg, quería cambiarle de nombre también al proyecto que ya estaba alojado allí. El anterior era "pantallas.sh" y su URL era "https://codeberg.org/entropiabinaria/pantallas", pero yo quería que el script cambiara su nombre dentro de CodeBerg a "monitux.sh", y que su URL pasara a ser "https://codeberg.org/entropiabinaria/monitux" pero sin perder el "historial" anterior, ya que "monitux.sh" era un "fork-actualización" de "pantallas.sh".
Esta es una situación bastante común cuando los proyectos evolucionan. Uno quiere mantener el historial de cambios (el "progreso" anterior) y, al mismo tiempo, reflejar el nuevo nombre del script y del repositorio.
Te cuento una solución posible, que fue la que apliqué (y la que seguiré aplicando cada vez que se plantee la misma situación). Lo que hice fue esto: renombré (con el comando "git") al archivo nuevo y renombré también al repositorio en CodeBerg (utilizando la interfaz web del sitio).
Los pasos que realicé, fueron, en resumidas cuentas, los siguientes:
1. renombré al archivo localmente (utilizando "git"),
2. hice un "commit" de ese renombramiento,
3. subí los nuevos archivos a CodeBerg,
4. renombré al repositorio utilizando "la interfaz" de CodeBerg,
5. actualicé localmente la URL vieja por la nueva, para que git se enterara del "nuevo repositorio correspondiente al mismo proyecto".
NOTA MUY IMPORTANTE: si te pasó lo mismo y querés solucionarlo siguiendo esta guía, te recomiendo que lo hagas únicamente cuando tengas un rato libre y que no interrumpas el proceso hasta finalizarlo. De lo contrario, pueden surgir errores inesperados que te harán perder tiempo buscando soluciones a problemas que no existían.
Ahora, sí: ¡vamos a ello!
I) Abrí la terminal en el directorio de tu script anterior (ejemplo, "pantallas.sh").
Asegurate de que tu directorio local esté limpio (sin cambios pendientes):
git status
Si hay cambios, hacé un "git add ." y git commit -m "Mensaje" o un "git stash" para guardarlos temporalmente.
II) Renombrá el archivo anterior (pantallas.sh) a "monitux.sh" usando "git".
El siguiente comando le indicará a git que el archivo se ha movido o renombrado. De otro modo, CodeBerg "pensaría" que se eliminó y que se creó uno nuevo. Este paso es sumamente importante a efectos de poder conservar todo el historial anterior (los "commits", las ramas, los "issues" y cualquier contribución anteriormente realizada, para no tener que eliminar todo, empezar desde cero y perder la trazabilidad de los cambios).
git mv pantallas.sh monitux.sh
Si tenés otros archivos o carpetas que también cambiaron de nombre o se relacionaban con el viejo nombre y ahora con "monitux", también renombralos con "git mv". Por ejemplo, si tenés una carpeta "docs-pantallas" que ahora es "docs-monitux":
git mv docs-pantallas docs-monitux
Verificá el cambio con "git status".
Deberías ver algo como: "renamed: pantallas.sh -> monitux.sh".
Confirmá (commit) el renombramiento:
git commit -m "Se ha renombrado 'pantallas.sh' como 'monitux.sh' para reflejar el nuevo nombre del script y del proyecto."
III) Subí estos cambios a Codeberg:
git push origin main
En este punto, si vas a CodeBerg, verás que en tu repositorio "pantallas", ahora existe "monitux.sh" y que el antiguo "pantallas.sh" ya no existe, porque fue renombrado. Git "sabe" que este es el mismo archivo y que el historial es continuo e involucra a ambos.
IV) Ahora dirigite a CodeBerg con el navegador, y andá a tu repositorio "pantallas" (el que pasará a ser el "viejo" en minutos).
Hacé clic en "Configuración" en la barra de navegación del repositorio (este botón se encuentra casi en el ángulo superior derecho).
En la página de configuración, sección "Nombre del repositorio", cambiá el nombre (ej.: de "pantallas" a "monitux", y guardá el cambio con el botón "Guardar configuración".
V) Un paso más a realizar en la terminal.
Tu repositorio local aún seguirá apuntando a la URL anterior, y vas a necesitar actualizar esa referencia con la nueva URL:
git remote set-url origin https://codeberg.org/entropiabinaria/monitux.git
De este modo, la próxima vez que hagas "git pull" o "git push", estos procedimientos apuntarán a esta nueva URL, como debe ser.
¡Listo! ¡Disfrutá compartiendo tu conocimiento!
0 Comentarios:
Publicar un comentario