git rebase i vs git rebase –onto

Creo que cometí un error. Quería eliminar algunos git rebase -i , así que utilicé git rebase -i y git rebase -i el último commit. Pero luego eliminó todos los cambios que hice en mi directory de trabajo y los de etapa. ¿Cómo puede ser? Sé que no habría tenido este problema si borrase algunas confirmaciones anteriores. ¿Hay alguna manera de eliminar el último compromiso y mantener los cambios en mi directory de trabajo?

Por cierto, ¿cuál es la diferencia entre usar git rebase -i y git rebase --onto <branch name>~<first commit number to remove> <branch name>~<first commit to be kept> <branch name> ?

git rebase no se git rebase en absoluto si tienes cambios no confirmados en files conocidos. Fallará con este error:

 Cannot rebase: Your index contains uncommitted changes. 

Alguna variación de ese error ha existido desde 2007. ¿Cómo se lanzó git rebase -i en absoluto?

Eso escrito, su pregunta se relaciona con los valores pnetworkingeterminados de git rebase -i . Sin ningún argumento, se establecerá de forma pnetworkingeterminada en la bifurcación pagada e intentará volver a establecer una base contra el <remote>/<branch> configurado para ser 'ascendente' de la bifurcación que ha desprotegido. Puede consultar el repository y la twig de subida de la sucursal con:

 git config branch.<branch_name>.remote git config branch.<branch_name>.merge