¿Cómo creamos una list de files que han cambiado desde la última implementación? Usando Git

Estamos utilizando TFS para implementar files PDF desde un repository de Git.

Las implementaciones están vinculadas a una twig específica.

De vez en cuando se decide que la sucursal contenga suficientes files para implementar.

Solo deseamos implementar los files que han cambiado desde la última implementación, no toda la twig. Es enorme y lleva demasiado time desplegar todo.

¿Cómo podemos labelr la twig de una determinada manera cuando se realizan las implementaciones y luego cuando se desea la próxima implementación, comparar la twig actual con la label y luego implementar solo los cambios / diferencias / deltas?

Solo para enfatizar, esta twig solo contiene files PDF, no código. No necesita ser comstackdo.

PARA ACLARAR:

En el server de compilation, queremos evitar tener que clonar todo el repository cada vez que se ejecuta el process de implementación. Normalmente, el primer paso en la implementación es clonar el repository, pero esto lleva demasiado time. ¿Hay alguna manera de desplegar solo los files que se han agregado o modificado? Escaso pago tal vez?

Toda la respuesta está en tu pregunta:

  1. cada vez que quiera implementar, cree una label: git tag XYZ ${COMMIT_TO_TAG}
  2. para comparar con la label anterior al listr solo files: git diff --name-status ${PREVIOUS_TAG}..${TAG_TO_DEPLOY}

Para encontrar la label anterior:

  • antes de crear la label actual: git describe --first-parent --tags --abbrev=0 ${COMMIT_TO_TAG}
  • después de crear la label actual: git describe --first-parent --tags --abbrev=0 ${TAG_TO_DEPLOY}~1