¿cómo eliminar todo el historial de confirmaciones en github? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Quiero eliminar todo el historial de confirmaciones , pero mantener el código en el estado actual .

Porque en mi historial de confirmaciones , hay demasiadas confirmaciones no utilizadas .

¿Cómo puedo hacerlo ?

¿Hay algún git el comando puede hacer esto?

git filter-branch ?
git rebase ?
... 

Mi host de código en github.com.

 191
Author: Alexei Levenkov, 2012-12-05

2 answers

Eliminar la carpeta .git puede causar problemas en tu repositorio git. Si desea eliminar todo su historial de confirmaciones pero mantener el código en su estado actual, es muy seguro hacerlo como en lo siguiente:

  1. Pago

    git checkout --orphan latest_branch

  2. Añadir todos los archivos

    git add -A

  3. Confirmar los cambios

    git commit -am "commit message"

  4. Suprímase la rama

    git branch -D master

  5. Cambie el nombre de la rama actual a maestro

    git branch -m master

  6. Finalmente, fuerce la actualización de su repositorio

    git push -f origin master

PD: esto no mantendrá su antiguo historial de commits alrededor

 648
Author: Desta Haileselassie Hagos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-01 22:21:49

Si está seguro de que desea eliminar todo el historial de confirmaciones, simplemente elimine el directorio .git en la raíz de su proyecto (tenga en cuenta que está oculto). Luego inicializa un nuevo repositorio en la misma carpeta y enlázalo al repositorio GitHub:

git init
git remote add origin [email protected]:user/repo

Ahora confirma tu versión actual del código

git add *
git commit -am 'message'

Y finalmente forzar la actualización a GitHub:

git push -f origin master

Sin embargo, sugiero hacer una copia de seguridad del historial (la carpeta .git en el repositorio) antes de seguir estos pasos!

 70
Author: Amir Ali Akbari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-28 20:57:12