espinilla
Tengo un proyecto “MyfirstProject” en github. Ahora estoy haciendo otro proyecto “SecondProject” mediante la clonación de “MyfirstProject” ya que los códigos principales serán los mismos.
Cada vez que actualizo en “MYfirstProject”, solo busco actualizaciones.
Ahora quiero hacer un repositorio para este “SecondProject” en github ya que tengo que trabajar en diferentes computadoras y tendrá diferentes códigos de “MYfirstProject”.
No creo que ramificarse sea lo correcto, ya que nunca los fusionaré.
¿Como lo puedo hacer?
¿Necesito subir a un nuevo repositorio? ¿No afectará las extracciones de “MyfirstProject”?
¿A qué te dedicas?
Gracias de antemano.
fred foo
Probablemente haya varias formas de hacer esto, incluida una más inteligente, pero así es como lo haría:
- Haz un nuevo repositorio en Github llamado
SecondProject
. - Clona localmente tu
MyfirstProject
, ya sea desde disco o desde Github. Luego use git pull en las ramas que necesita para pasar al segundo repositorio. git remote set-url origin git@github.com:yourname/SecondProject.git
- Empujalo.
Tenga en cuenta que el clon conserva un historial compartido con MyfirstProject
que es útil si cambia de opinión sobre el bit “nunca fusionar”.
-
¿Puedo extraer de MyfirstProject?
– espinilla
17 mayo 2011 a las 18:26
-
@shin: debería poder extraer si agrega el primer proyecto como un repositorio remoto para el segundo.
– gotgenes
17 mayo 2011 a las 20:23
-
@espinilla:
git remote add first git://github.com/yourname/MyfirstProject.git
entoncesgit pull first master
(ogit fetch
) siempre que desee obtener cambios enMyfirstProject
.– Fred Foo
17 mayo 2011 a las 20:55
-
git remote set-url origin NEWURL
… no hay necesidad de perder el tiempo en el archivo de configuración.– Tekub
17 mayo 2011 a las 21:21
-
Asegúrese de tener la URL correcta también, gitlab proporciona la URL para una conexión SSH de forma predeterminada, a veces esto me hace tropezar.
– Mark Carpenter Jr.
10/07/2017 a las 19:00
- Clone su MyfirstProject en su máquina local.
- Eliminar carpeta .git
- iniciar git
- Publica tu nuevo proyecto
Ahora estoy haciendo otro proyecto “SecondProject” mediante la clonación de “MyfirstProject” ya que los códigos principales serán los mismos.
Depende de lo que entiendas por “códigos básicos”. Si se trata de una biblioteca de estructuras de datos comunes, utilidades y demás, todo eso debería estar contenido en un repositorio git separado, y no debe incluir código específico de la aplicación, que se basa en la biblioteca, en ese repositorio. El código específico de la aplicación debe estar en un repositorio nuevo e independiente (no clonado del repositorio de la biblioteca). Vincule el código específico de su aplicación al código de la biblioteca de la forma en que lo haría normalmente con cualquier biblioteca de terceros.
Si, por el contrario, quiere decir que tiene alguna aplicación, pero necesita diferentes configuraciones según la máquina en la que trabaje/compile, eso debe rastrearse como ramas en el mismo repositorio, no como un clon separado del repositorio de git. Tenga una rama “maestra” que contenga la configuración predeterminada de su código (por ejemplo, la máquina que usa con más frecuencia o la máquina de producción). Las configuraciones específicas para sus otras máquinas obtienen una rama separada, por ejemplo, la rama “laptop” para su computadora portátil, “work” para el escritorio de su estación de trabajo, “cloud” para su instancia de Amazon EC2, etc.
-
Si bien estoy de acuerdo en general, a veces puede ser útil simplemente copiar un código y bifurcar su propio proyecto. El OP siempre puede fusionar los proyectos más tarde, incluso si están en repositorios diferentes.
– Fred Foo
17 mayo 2011 a las 18:01
Otra forma de hacer esto podría ser (temporalmente) hacer que el repositorio original sea una “plantilla” -> vaya a la página del repositorio, seleccione “configuración (icono de engranaje)” y luego marque la casilla de verificación “Repositorio de plantillas”.
Ahora, si regresa a la pestaña “ Código”, el botón verde grande dirá “Usar esta plantilla”. Al hacer clic en eso, se le pedirá que configure un nuevo repositorio que recibirá una copia del contenido del anterior, pero los dos no estarán vinculados. Luego puede clonar el nuevo repositorio y trabajar en ese.
Una vez hecho esto, es posible que desee desactivar la casilla de verificación “plantilla” en el primer repositorio, pero no debería ser un gran problema si no lo hace.
Cree su nuevo proyecto en la interfaz de usuario de GitHub. Deje “Crear archivo Readme.md” sin marcar. Después de la creación, será redirigido a una ventana donde hay una opción llamada “… o importar código de otro repositorio”. Elija esa opción y podrá importar código de un proyecto al nuevo a través de la interfaz de usuario de GitHub. GH puede realizar cambios en el flujo de trabajo de creación de repositorios en el futuro, pero esto funciona hoy.