Git: mover los cambios fuera de la rama maestra

Pregunta básica pero esto me pasa todo el tiempo:

Hacer cambios en unworking-branchCambiar amastergit merge working-branchgit pushcap deploy(a la puesta en escena)hacer una nueva taza de té

luego vuelvo y pienso en otra cosa y empiezo a hacer algunos cambios ... mientras aún estoy en master.

¿Qué es una manera fácil de:

evitar ediciones directas en el master (advertencia quizás)para mover todas las ediciones aworking-branch Y limpiomaster para que pueda seguir editando enworking-branchpara girar ediciones en una rama completamente nuevanew-working-branch y luego descartarworking-branch?

Tomó un riesgo y probó una recomendación en la última parte de la sección "Sucursales" deesta página pero eso acaba de borrar TODAS mis ediciones!?! tal vez porque despuésgit branch dubious-experiment ygit checkout master lagit status en ambas ramas era idéntico (no "limpio" en el maestro). Asi quegit reset --hard <SHA1sum> borró todos los cambios en ambos!?!

  git branch dubious-experiment

  M---N-----O----P---Q ("master" and "dubious-experiment")

  git checkout master

  # Be careful with this next command: make sure "git status" is
  # clean, you're definitely on "master" and the
  # "dubious-experiment" branch has the commits you were working
  # on first...

  git reset --hard <SHA1sum of commit N>

Respuestas a la pregunta(6)

Su respuesta a la pregunta