Convierte las confirmaciones de git realizadas en una sola

Estoy usando una repetición para cualquier proyecto nuevo que haga. Sin embargo, los compromisos que hice en la repetición del proyecto se concretan en el nuevo proyecto. ¿Cómo voy a tener simplemente una "confirmación inicial" que incluye todo en una confirmación y elimina el historial de confirmación anterior?

use el command rebase para esto

git rebase -i HEAD ~ N

N es el número de commits que quieres fusionar en uno … Y luego haz un push de fuerza …

podrías seguir la pregunta " git: ¿cómo aplastar los primeros dos commits? ", y aplastar los n-commits en tu nuevo repository.
El script está aquí , puede aplastar los primeros commit mientras reproduce el rest de los commits que desea mantener en el historial del nuevo repository.

git clone boilerplaterepo newrepo # apply the script for git reset --soft $1 everything 

La solución usa git reset --soft , y es un ejemplo de uno de los " usos prácticos de git reset --soft? ".


Si desea una solución basada en rebase –interactive (less práctica, ya que implica un paso manual), no olvide la opción --root (git 1.7.12) , para volver a establecer la base hasta la confirmación de la raíz.

  git rebase -i --root git push -f