¿Cómo elimino las confirmaciones que están desvinculadas master
?Quitar confirmaciones de Git en una rama
He agregado una biblioteca grande, junto con un historial de confirmación muy rico (y que es anterior a mi código) a un subdirectorio a través de Git subtree. Me gustaría retroactivamente aplastar todo el historial, , pero aún así poder fusionar los nuevos commits con la biblioteca.
He intentado varias combinaciones de git rebase
pero nunca obtengo el resultado esperado [*].
Mi repositorio se ve algo como:
A---B-----------F---G master
/
... C---D---E
y me gustaría para que se vea algo como:
A---B-----------F'--G' master
/
E'
o:
A---B-------E'--F'--G' master
[*]:
git rebase --onto C E master
git checkout F; git rebase --onto C E master
La fusión se verá afectada por tal aplastamiento. ¿Por qué quieres aplastarlo? ¿Solo para limpiar la salida de registro de gitk/git? –
Sí, eso y el hecho de que todas las confirmaciones anteriores ascienden a varios cientos de megabytes. – Gingi
Su decisión de importar una biblioteca integrando su historial de desarrollo en el repositorio del proyecto es extraña. – Deestan