¿Actualizar varias copias de trabajo locales con una sola fuente de GitHub?

Cambiando a GitHub y parece que no puedo encontrar información sobre cómo hacer algo que solía hacer con SVN:

En primer lugar, soy probador, por lo que nunca realizo cambios, pero necesito mantener una cantidad de copias locales del proyecto, cada una con una pequeña diferencia con respecto al tronco: preparación, producción, valores de temporizador disminuidos, etc.

Solía ​​usar CornerStone en Mac (solo fwiw / no lo tengo más), y una sola actualización de SVN actualizaría todos mis diversos 'proyectos dependientes' locales (todos ellos iguales, excepto una o dos líneas, generalmente en un archivo de configuración). Revisaría los conflictos inevitables y casi siempre los rechazaría, siempre que la única diferencia en el archivo en conflicto fuera mi personalización con fines de prueba, o si había algo nuevo, lo fusionaría y dejaría las URL de mi entorno de ensayo o lo que sea como están. fueron.

¿Puedo hacer este tipo de cosas de manera eficiente con GitHub? (¿preferiblemente usando GitHub / Xcode o algún otro cliente GUI de Mac?)

Miré la documentación, pero parece que no puedo encontrar nada sobre esto, por lo que cualquier ayuda es muy apreciada / tal vez sea un poco inusual realizar cambios en muchos proyectos locales casi idénticos y siempre rechazar ciertos conflictos ... :)

preguntado el 02 de febrero de 12 a las 11:02

1 Respuestas

Por supuesto, la solución ideal es no tener un seguimiento de los datos de configuración en el repositorio, o al menos permitir la anulación a través de algún archivo sin seguimiento.

Sin embargo, no hay problema con lo que quieres hacer en git. Solo hace localmente varios clones de su repositorio de GitHub. En cada uno, puede realizar cambios específicos para esa copia local y luego confirmarlos. Luego, cuando desee actualizar desde la última versión de GitHub, asegúrese de tirar con:

git pull --rebase

... que obtendrá la última versión del servidor y luego intentará volver a aplicar sus confirmaciones con cambios locales encima. A menos que las mismas partes de los archivos en los que ha realizado cambios también se hayan modificado en las nuevas confirmaciones en GitHub, ni siquiera debería tener conflictos que resolver.

Si siempre tira así, entonces el gráfico de confirmación (historial) de su proyecto siempre será el mismo que el remoto, pero con cualquiera de sus cambios locales como las confirmaciones más recientes en la parte superior del historial remoto.

(Espero que los clientes GUI que está utilizando tengan una opción para reajustar al extraer nuevos cambios. De lo contrario, puede configurar esto para que suceda automáticamente con la opción de configuración branch.<name>.rebase, Donde <name> es el nombre de su sucursal local).

Respondido 02 Feb 12, 15:02

Gracias, lea más sobre --rebase y esto suena exactamente como lo que necesito / definitivamente. pruébalo - también encontré esta publicación sobre la configuración de múltiples proyectos locales basados ​​en el mismo control remoto: stackoverflow.com/questions/6270193/… (pero primero voy a echar un vistazo más de cerca a los dos clientes de la GUI de Mac; el de Github parece bastante básico / por lo que puedo ver, no hace esto ...) ¡Salud! - dsmudger

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.