Como você pode fazer alterações não confirmadas em um teste de ramificação quando estou na ramificação master
?
Como você pode fazer alterações não confirmadas em um teste de ramificação quando estou na ramificação master
?
Respostas:
Você pode fazer o checkout no ramo de teste e confirmar. Você não perde suas alterações não confirmadas ao mudar para outro ramo.
Supondo que você esteja no ramo principal:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
Não tenho muita certeza dos arquivos excluídos, mas acho que eles não estão incluídos quando você usa git add .
Além disso, você pode criar uma nova ramificação e mudar para ela fazendo:
git checkout -b new_branch
git add .
Eu uso isso o tempo todo, porque sempre esqueço de iniciar um novo ramo antes de começar a editar o código.
Por que não usar apenas git stash. Eu acho que é mais intuitivo como copiar e colar.
$ git branch
develop
* master
feature1
TEST
$
Você tem alguns arquivos em sua ramificação atual que deseja 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 para o outro ramo.
$ git checkout TEST
E 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
#
Também gosto git stash
porque uso git flow
, que reclama quando você deseja concluir uma ramificação de recursos enquanto ainda tem alterações no seu diretório de trabalho.
Assim como o @Mike Bethany, isso acontece comigo o tempo todo, porque trabalho em um novo problema, esquecendo que ainda estou em outro ramo. Assim, você pode esconder seu trabalho git flow feature finish...
, e git stash apply
para um novo git flow feature start ...
ramo.
git stash
é a minha maneira preferida de lidar com alterações não confirmadas. É certamente um método intuitivo quando você pensa nele como recortar e colar.
git stash --include-untracked