¿Cómo mantener las testings separadas de la twig principal con git?

Soy bastante nuevo en git y estoy particularmente interesado en mantener casos de testing para un proyecto dentro de su repository.

  1. Esto es para un pequeño proyecto lateral de Bash y tengo algunos repositorys. Me gustaría mantener los casos de testing dentro del mismo repository. ¿Cómo puedo hacerlo? ¿Mantengo una twig de testing de larga duración en la que me fusiono en cambios de la twig de desarrollo, ejecuto testings y luego me fusiono con la twig de lanzamiento? Pero hacerlo me obligaría a seleccionar cuidadosamente la function / cambio de la twig de testing (suponiendo que también realice cambios mientras estoy en la twig de testing) para evitar también fusionar los casos de testing. Los models de bifurcación que vi hablaron sobre ejecutar suites de testing en nuevos commits a una twig de desarrollo como una cosa de CI / CD ejecutándose por separado. Tiene sentido para un proyecto grande y es conveniente, pero no para uno pequeño.

  2. Además, ¿cómo avanzaría en el desarrollo de los casos de testing en sí? ¿No mantener el repository separado para los casos de testing para cada uno de esos proyectos simplemente hincha la cantidad de repositorys?

Estaba buscando las mejores prácticas en las que tenía lo siguiente en mente: mantener una twig de liberación limpia de cualquier artefacto de testing. Desarrollar en una twig separada. Prueba para ver si es digno de lanzamiento, si no hacer cambio, testing de nuevo y fusiona solo el cambio a la twig de lanzamiento. La respuesta de VonC parece estar en este flujo.

Quiero que los casos de testing estén en el mismo repository pero quizás no en la misma twig.
Solo quería mantener las twigs orderadas y organizadas

Un truco es:

  • mantén tus testings en una twig separada
  • consulte su testing desde la twig principal como un submodule

Vea un ejemplo completo en ¿Cuál es la forma más fácil de implementar una carpeta en una twig en git?

Usted comete sus testings en la testing de twig, que empuja.
Luego agrega esa twig como un submodule en el maestro:

git submodule add -b test git@github.com:user/repo.git test git commit -m "added test as submodule" git push 

Su repository retenido (en producción) tendría de forma pnetworkingeterminada una subcarpeta de testing vacía.
Si agrega (en desarrollo) una git submodule update --init , entonces la subcarpeta de testing includeía el contenido de las testings.

Cada vez que modifica sus testings, agrega, confirma y empuja desde el submodule (que está configurado para enviar a la twig de test ).
A continuación, regrese a la carpeta principal (la de la twig master ), agregue, confirme y presione el gitlink modificado ( input especial en el índice que representa el nuevo SHA1 para el repository del submolecto de test )