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 stashporque 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 applypara 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