Sé que StackOverflow no es el lugar para respuestas basadas en opiniones, pero en realidad tengo una buena opinión sobre cuándo dejar de lado los cambios con un alijo.
No quieres comprometerte con cambios experimentales
Cuando realiza cambios en su espacio de trabajo / árbol de trabajo, si necesita realizar operaciones basadas en ramas como fusionar, empujar, recuperar o extraer, debe estar en un punto de confirmación limpio. Entonces, si tiene cambios en el espacio de trabajo, debe confirmarlos. Pero, ¿y si no quieres cometerlos? ¿Y si son experimentales? ¿Algo que no quieres que forme parte de tu historial de confirmaciones? ¿Algo que no desea que otros vean cuando ingrese a GitHub?
No quiere perder los cambios locales con un restablecimiento completo
En ese caso, puede hacer un restablecimiento completo. Pero si realiza un restablecimiento completo, perderá todos los cambios de su árbol de trabajo local porque todo se sobrescribe en el lugar donde estaba en el momento de la última confirmación y perderá todos sus cambios.
Entonces, en cuanto a la respuesta de 'cuándo debería esconder', la respuesta es cuando necesita volver a un punto de compromiso limpio con un árbol de trabajo / índice / compromiso sincronizado, pero no quiere perder sus cambios locales en el proceso. Simplemente guarde sus cambios en un escondite y estará bien.
Y una vez que haya hecho su alijo y luego se haya fusionado, tirado o empujado, puede simplemente guardar pop o aplicar y volverá al punto de partida.
Git alijo y GitHub
GitHub agrega constantemente nuevas funciones, pero a partir de ahora, ahora hay una forma de guardar un alijo allí. Nuevamente, la idea de un escondite es que sea local y privado. Nadie más puede echar un vistazo a su escondite sin acceso físico a su estación de trabajo. De la misma manera que git reflog es privado con git log es público. Probablemente no sería privado si se subiera a GitHub.
Un truco podría ser hacer una diferencia de su espacio de trabajo, verificar la diferencia en su repositorio de git, confirmar y luego presionar. Luego puede hacer un tirón desde casa, obtener el diferencial y luego desenrollarlo. Pero esa es una forma bastante complicada de lograr esos resultados.
git diff > git-dif-file.diff