¿Cómo puede poner cambios no confirmados en una prueba de sucursal cuando estoy en la sucursal master
?
¿Cómo puede poner cambios no confirmados en una prueba de sucursal cuando estoy en la sucursal master
?
Respuestas:
Simplemente puede pagar en la rama de prueba y luego confirmar. No pierde sus cambios no comprometidos cuando se muda a otra rama.
Supongamos que estás en la rama maestra:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
No estoy realmente seguro acerca de los archivos eliminados, pero supongo que no se incluyen cuando usas git add .
También puede crear una nueva rama y cambiar a ella haciendo:
git checkout -b new_branch
git add .
Lo uso todo el tiempo porque siempre me olvido de comenzar una nueva rama antes de comenzar a editar el código.
¿Por qué no solo usar git stash? Creo que es más intuitivo como copiar y pegar.
$ git branch
develop
* master
feature1
TEST
$
Tiene algunos archivos en su rama actual que desea mover.
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: awesome.py
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: linez.py
#
$
$ git stash
Saved working directory and index state \
"WIP on master: 934beef added the index file"
HEAD is now at 934beef added the index file
(To restore them type "git stash apply")
$
$ git status
# On branch master
nothing to commit (working directory clean)
$
$
$ git stash list
stash@{0}: WIP on master: 934beef ...great changes
$
Mover a la otra rama.
$ git checkout TEST
Y aplicar
$ git stash apply
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: awesome.py
# modified: linez.py
#
También me gusta git stash
porque lo uso git flow
, que se queja cuando quieres terminar una rama de características mientras todavía hay cambios en tu directorio de trabajo.
Al igual que @Mike Bethany, esto me sucede todo el tiempo porque trabajo en un nuevo problema mientras olvido que todavía estoy en otra sucursal. Para que pueda esconder su trabajo git flow feature finish...
, y git stash apply
a una nueva git flow feature start ...
sucursal.
git stash
es mi forma preferida de lidiar con cambios no comprometidos. Sin duda, es un método intuitivo cuando lo piensas como cortar y pegar.
git stash --include-untracked