trabajar tag repositorio remota rama que origin crear con cambiar git git-stash

tag - ¿Por qué el alijo git no es único por rama?



que es un repositorio git (4)

A partir de Git 1.6, ahora puedes aplicar stashes a las ramas usando

git stash branch name_of_new_branch

¡Git creará la nueva sucursal para ti y la verificará! Para más información, ver

Supongo que puedes mover escondites usando

git stash branch <branch | new_branch> [<stash>]

y para ver una lista de sus escondites, use

git stash list

Reference

Supongo que permite mover los cambios de una rama a la siguiente, pero para eso está la selección de cerezas y si no estás comprometiendo tus cambios, ¿no deberías moverlos?

En ocasiones, he aplicado el alijo incorrecto en la rama incorrecta, lo que me dejó preguntándome sobre esta pregunta.


Como se mencionó, si desea un "alijo por rama", realmente desea que una nueva sucursal se bifurque de la sucursal existente.

Además, además del hecho ya mencionado de que el alijo te permite acceder a una rama en la que estás trabajando, también te permite cambiar de ramas antes de que hayas comprometido todo. Esto es útil no tanto para seleccionar cerezas en el sentido habitual como para seleccionar cuidadosamente su copia de trabajo .

F.ex., mientras trabajo en una rama de características, a menudo notaré errores menores o impurezas cosméticas en el código que no son relevantes para esa rama. Bueno, solo arreglo esos de inmediato. Cuando llega el momento de cometer, me comprometo selectivamente con los cambios relevantes, pero no con los arreglos y los cosméticos. En cambio, guardo esos, lo que me permite cambiar a mi rama de arreglos menores en establo, donde luego puedo aplicar el alijo y comprometer cada arreglo menor por separado. (Dependiendo de los cambios en cuestión, también esconderé algunos de ellos una vez más, para cambiar a una rama de función diferente, donde los aplique).

Esto me permite profundizar en el modo de programación cuando estoy trabajando y no preocuparme por una biblioteconomía adecuada de mi código. Luego, cuando tomo un descanso mental, puedo regresar y ordenar cuidadosamente mis cambios en todos los estantes correctos.

Si el alijo no fuera global, este tipo de flujo de trabajo sería mucho más difícil de hacer.


git-stash me resulta más útil para mover los cambios aún no registrados a una rama diferente de la que está actualmente desprotegida.

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 creía. Git-stash es la forma más fácil de mover ese conjunto de cambios a una rama diferente.


si quiere un "alijo" que se ejecuta en una sucursal, haga algo como esto para almacenar sus cambios en una nueva sucursal de su sucursal actual.

git checkout -b new_stash git commit -a -m "stashed changes"

deshacer el alijo

git reset HEAD^ git branch -d new_stash

git stash es especialmente útil porque puedes hacer cambios en un árbol sucio, es decir, si tienes ediciones sobresalientes y quieres hacer un cambio

git pull

y no puedes, puedes esconder tus cambios, tirar y luego aplicar el alijo

git stash git pull git stash apply git stash clear

espero que esto haya ayudado!