Sucursal de liberación de Git con compromisos aplastados

Estoy intentando hacer algo similar a esto: crear un repository de GitHub con solo un subset del historial de un repository local

Actualmente tengo todas mis confirmaciones en master y ahora deseo crear una twig llamada release que solo tenga una única confirmación de todas las confirmaciones pasadas y sin historial de las antiguas confirmaciones.

Intenté utilizar el método en ese enlace, pero al hacerlo, se fusionaron más en la versión para no fusionarse automáticamente, lo que es algo molesto. (El error que da es Squash commit – no se actualiza HEAD. Falló la fusión automática; soluciona los conflictos y luego confirma el resultado.) ¿Hay alguna forma diferente de hacerlo que aún pueda fusionarse automáticamente?

Sé que el método más fácil sería crear un repository separado pero, idealmente, prefiero usar una sucursal.

Quiero que termine luciendo algo como esto:

v1 es una combinación de commit 2, v2 es una combinación de commit 5, etc.

[lanzamiento]:

  • v2
  • v1

[dominar]:

  • cometer 5
  • cometer 4
  • cometer 3
  • cometer 2
  • inicial

¡Soy nuevo en git, lo siento mucho si esto es realmente obvio! ¡Gracias!

Si desea realizar una confirmación en la twig de publicación que tendrá exactamente el mismo tree que la confirmación superior en la twig principal, puede hacer:

 # make sure we are on the release branch git checkout release # populate index and working tree with tree from top master commit git read-tree -u --reset master # commit it as "v1" git commit -m v1