Supongo que permite mover cambios de una rama a la siguiente, pero para eso está la selección selectiva y, si no está realizando una confirmación de los cambios, tal vez no debería moverlos.
En ocasiones, apliqué el alijo incorrecto en la rama incorrecta, lo que me dejó preguntándome sobre esta pregunta.
git stash-here
¿nadie?Respuestas:
Como se mencionó, si desea un "alijo por rama", realmente desea una nueva rama que se bifurque de la rama existente.
Además, además del hecho ya mencionado de que el alijo le permite ingresar a una rama en la que está trabajando, también le permite cambiar de rama antes de haber comprometido todo. Esto es útil no tanto para la selección selectiva en el sentido habitual como para la selección selectiva de su copia de trabajo .
Por ejemplo, mientras trabajo en una rama de funciones, a menudo noto errores menores o impurezas cosméticas en el código que no son relevantes para esa rama. Bueno, los arreglo de inmediato. Cuando llega el momento de comprometerme, realizo selectivamente los cambios relevantes, pero no las correcciones y los cosméticos. En su lugar, los guardo, lo que me permite cambiar a mi rama de arreglos menores en estable, donde luego puedo aplicar el alijo y confirmar cada arreglo menor por separado. (En función de los cambios en cuestión, también voy a esconder algunos de ellos una vez más, para cambiar a una rama de la característica diferente, donde aplico los .)
Esto me permite profundizar en el modo de programación cuando estoy trabajando y no preocuparme por la biblioteca adecuada de mi código. Luego, cuando tomo un descanso mental, puedo volver atrás y ordenar cuidadosamente mis cambios en los estantes correctos.
Si el alijo no fuera global, este tipo de flujo de trabajo sería mucho más difícil de realizar.
fuente
As mentioned, if you want a “per-branch stash,” you really want a new branch forking off from the existing branch.
. En particular, a menudo cambio entre dos versiones del mismo programa, y ejecutar una completamake
toma 10 minutos; Ser capaz de guardar los binarios construidos, por rama, sería muy bueno. Y ciertamente no quiero los binarios en el registro o en una rama.A partir de Git 1.6, ahora puede aplicar alijos a las ramas usando
Git creará la nueva rama por ti, ¡y compruébalo! Para más información, ver
el libro git
info git-stash
y busque en option =branch
.Supongo que puedes mover escondites usando
y para ver una lista de tus alijos, usa
Referencia
fuente
gitk --all
" actualizado ya no mostraba mi primer alijo; Pensé que podría ser aplastado. Una vez que terminé mi trabajo en la segunda rama, saqué ese alijo. Después de eso, mi "gitk --all
" actualizado mostró el alijo original nuevamente.si desea un "alijo" que se ejecute en una rama, haga algo como esto para almacenar sus cambios en una nueva rama de su rama actual.
deshacer el alijo
git stash es especialmente útil porque puede introducir cambios en un árbol sucio, es decir, si tiene ediciones pendientes y desea hacer una
y no puede, puede guardar sus cambios, extraer y luego aplicar el alijo
espero que esto ayude!
fuente
make
en esa rama? (un alijo por rama ahorraría tiempo la próxima vez que haga una compilación incremental en esa rama, pero ciertamente no desea agregar los binarios al índice)git-stash es más útil para mí para mover los cambios que aún no se han registrado a una rama diferente a la que está actualmente extraída.
Por ejemplo, a menudo me encuentro haciendo cambios simples en una rama de corrección de errores; solo para descubrir que un cambio en el que estoy trabajando es más complejo de lo que supuse al principio. Git-stash es la forma más fácil de mover ese conjunto de cambios a una rama diferente.
fuente