Tengo sucursales maestras y de nuevos proyectos . Y ahora me gustaría crear un nuevo repositorio con su maestro basado en la rama del nuevo proyecto.
Antecedentes: tengo un repositorio que contiene tres aplicaciones independientes. No comenzó de esta manera. Originalmente solo había una aplicación en el repositorio. Con el tiempo, sin embargo, las necesidades comerciales han cambiado. Una aplicación se convirtió en dos (una versión heredada y una reescritura). Se agregó un servicio web. Se utilizaron ramas separadas para contener los tres proyectos. Sin embargo, no comparten ningún código. Y entonces sería más simple dividirlos en sus propios repositorios.
--follow-tags
para eso.push
hacerlo solo en uno local (es decir, engit init
lugar de Github> Nuevo> ...)Actualizar:
cd al repositorio local que contiene old_branch y:
fuente
Editar: dentro de GitHub, puede "bifurcar" el repositorio, luego ir a la pestaña Administrador en su clon. Debajo de "Nombre del repositorio" y "Visibilidad" se encuentra "Rama predeterminada" con un menú desplegable de ramas. Elija
new-project
.Reeditar: acabo de darme cuenta de que es la
master
rama que desea establecer, no solo la rama "predeterminada". Entonces…them/repo
ayou/repo
.git clone [email protected]:you/repo.git
gitk
.old-master
rama para no perder el rastro de las confirmaciones anteriores.]new-project
rama, haga clic con el botón derecho en el mensaje de confirmación y seleccione "Restablecer la rama maestra aquí". (También puede hacer esto en la línea de comando usandogit-reset
, pero no he descubierto la invocación correcta).Su próximo empujón hacia su repositorio de GitHub deberá hacerse con la
--force
opción, pero de lo contrario ya habrá terminado.Si es uno de tus repositorios, estás haciendo esto para ...
git clone [email protected]:you/orig.git
git clone orig copy
copy
repositorio local , restablezca lamaster
rama a donde lo desee.you/copy
. Siga las instrucciones en GitHub para configurar ese proyecto como un control remoto para su versión local decopy
, pushmaster
, ¡y listo!fuente
Y eso es todo. (Nota: historial de git preservado)
Intenté la respuesta anterior y la encontré no lo suficientemente específica, ya que no especificaba + master: master, que es lo que necesitaba para que funcione. Funciona muy bien
Fuente (con mis modificaciones para evitar problemas ssh con github): Mauricio Aiello, ex desarrollador senior de Java, https://www.quora.com/How-do-I-create-a-new-GitHub-repository-from-a -branch-en-un-repositorio-existente
fuente
No estoy seguro si esta es una buena manera, pero de todos modos es fácil:
Luego cree un nuevo repositorio en github y empújelo.
fuente
Recordando que cuando simplemente crea un nuevo repositorio, pierde la referencia al anterior y hace que sea más difícil mantener cualquier actualización del proyecto original sincronizado con el nuevo. ¿Quizás no es mejor bifurcar el repositorio?
fuente
Pequeña adición a la respuesta correcta:
$ git push [email protected]: nombre de cuenta / new_repo + old_branch: master
"[email protected]: accountname / new_repo" => obtener del menú desplegable "clonar o descargar" de github
fuente