de casos de uso: cada vez que quiero mover comprometerse de una rama git a otro realizo la siguiente secuencia de acciones:Git: mover los cambios entre las ramas sin trabajar el cambio de directorio
- [comprometerse en la rama de trabajo]
git checkout
rama-a-merge-engit cherry-pick
meta-commitgit push
git checkout
trabajo rama
que funciona bien con la única excepción - cada vez que realizo se cambia 'git checkout' git contenido de directorio de trabajo (espera) y que hace que mi IDE (IntelliJ IDEA) a realizar una actualización del estado interno (porque el subárbol del sistema de archivos supervisado se modifica externamente). Eso realmente molesta, especialmente en el caso de una gran cantidad de compromisos pequeños.
Veo dos maneras de ir:
- realizar la 'cereza' recoge la masa, es decir, llevar a cabo gran número de confirmaciones; moverlos a otra rama, por ejemplo, al final del día laborable;
- tienen un segundo repositorio de git local y realizan selecciones de cereza, es decir, cada vez que se realiza una confirmación y una inserción reales en la rama de trabajo, vaya a ese segundo repositorio, extraiga los cambios y realice la selección de cereza allí;
No me gusta el primer acercamiento porque es posible olvidarse de mover un compromiso particular. El segundo se ve un poco ... antinatural.
Básicamente, sería perfecto si pudiera decir git 'move this commit de branch con nombre branchX a branch branchX + 1' sin actualizar el directorio de trabajo.
Pregunta: ¿es posible realizar lo anterior?
Opción 3: Indique a su editor que se interponga en su camino. – rafl
¿Cómo te gustaría trabajar con un editor que no refleje los cambios de archivos externos? –
debe cambiar el título de su pregunta real – cmcginty