tag - Buscando ejemplos de flujo de trabajo usando git-format-patch y git am
¿qué hace git log-oneline? (2)
Funciona mejor si pueden ver los repositorios git de los demás. El propio git se gestiona de esta manera (hay un repositorio público al que las personas pueden hacer referencia, y luego formatean el parche desde allí). Si la gente nunca ve los repos de los demás, las cosas son un poco más difíciles ...
Una cosa que pueden hacer es mantener una referencia a la última vez que hicieron un parche de formato. Digamos que comienzan simplemente enviando su árbol completo (incluido .git):
tar cvf - mytree | gzip -9vc > /tmp/mytree.tgz
# mail /tmp/mytree.tgz
git tag last-send
# hack, commit, hack, commit
git format-patch -M -C last-send..
# mail 00* && rm 00*
git tag -f last-send
git tag
en esta forma crea una "etiqueta liviana. Es una especie de marcador. Esta será una manera fácil para que las personas realicen un seguimiento de lo que enviaron para poder enviarlo nuevamente la próxima vez.
Por otro lado:
# get patches from mail and place in /tmp
git am /tmp/00*
rm /tmp/00*
Estoy pensando en pedirles a mis alumnos que utilicen git para la programación de parejas. Debido a que el trabajo de los estudiantes tiene que ser secreto, un repositorio público está fuera de cuestión. En cambio, cada estudiante tendrá un repositorio privado que ellos mismos mantendrán, y deberán intercambiar parches usando el parche de formato git. He leído la página del manual pero no estoy muy claro qué parches se enviarán. Lo más obvio para los estudiantes sería enviar todos los parches desde el último envío o (si a git no le importa recibir los mismos parches de forma redundante) enviar todos los parches desde el principio de los tiempos . (Recuerde que estos son proyectos de estudiantes, duran un par de semanas y son pequeños, y el rendimiento no es un criterio .) Nuestro mejor amigo es la simplicidad y también nos gusta la fuerza bruta.
¿Puede alguien darme una breve serie de ejemplos que muestran a dos personas, cada una con un repositorio de git privado, intercambiando parches usando git-format-patch y git-am? ¿O, como alternativa, apúntame a la documentación y / o tutorial existente de git?
Parece que el git bundle
es la mejor opción. A diferencia git format-patch
que es un flujo de trabajo de comunicación unidireccional, el paquete le permite aprovechar el mismo flujo de trabajo que utiliza con controles remotos públicos, pero está separado del acceso directo.
Está diseñado para zapatillas de deporte y sería perfecto para que los estudiantes guarden en paquetes USB o correo electrónico.
los parches son más para someterlos a aprobación por un estilo de comunicación líder del proyecto.