¿Es posible eliminar todas mis confirmaciones y mantener solo la última?

Intenté seguir algunas sugerencias que se encuentran aquí en otros temas similares, tratando de volver a establecer mis compromisos:

git rebase --onto master~5 master~1 master 

pero no obtengo lo que me gustaría (pero es posible que se deba a mi incapacidad).

Ahora, lo que quiero es eliminar todas mis confirmaciones y mantener solo la última versión del file, como si eliminé mi file y lo vuelvo a publicar por primera vez.

Me gustaría eliminar commits en algunos gists; realmente estoy interesado solo en la última versión.

Realmente, me gustaría usar gist como pastebin, sin save la revisión pero solo manteniendo la versión final.

Sé que podría eliminar mi esencia y crear otra, pero, si es posible, prefiero que el enlace no cambie.

Si está tratando de descartar todo el historial anterior para un solo file y ese file se usa en commits que modifican otros files, es necesario (probablemente) rebase . Si solo desea descartar todo el historial de todo el repository, aquí hay dos opciones:

Establezca HEAD en una nueva confirmación parentless con el directory de trabajo actual como su tree (checkout git tiene una opción –orphan que hace algo similar):

 $ TREE=$( git show -s --format='%T' HEAD ) $ HEAD=$( echo initial commit | git commit-tree $TREE ) $ git reset $HEAD 

Después de haber hecho esto, todas las confirmaciones anteriores siguen siendo accesibles como objects, pero debe trabajar para conseguirlas. Si tiene twigs y / o tags que se refieren a ellas, persistirán, pero si no se referencen, el recolector de basura las descartará.

o, simplemente destruya el repository git y comience de nuevo:

 $ cd $( git rev-parse --show-cdup ) # Go to top level directory $ rm -rf .git $ git init $ git add .