Come posso effettuare modifiche senza commit a un TEST di filiale quando sono nella filiale master
?
Come posso effettuare modifiche senza commit a un TEST di filiale quando sono nella filiale master
?
Risposte:
Puoi semplicemente fare il checkout nel ramo di test e quindi eseguire il commit. Non perdi le modifiche non impegnate quando ti sposti in un altro ramo.
Supponendo di essere nel ramo principale:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
Non sono davvero sicuro dei file eliminati, ma immagino che non siano inclusi quando lo usi git add .
Inoltre puoi creare un nuovo ramo e passare ad esso facendo:
git checkout -b new_branch
git add .
Lo uso sempre perché dimentico sempre di iniziare un nuovo ramo prima di iniziare a modificare il codice.
Perché non usare solo git stash. Penso che sia più intuitivo come un copia e incolla.
$ git branch
develop
* master
feature1
TEST
$
Hai alcuni file nel tuo ramo attuale che vuoi spostare.
$ 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
$
Passa all'altro ramo.
$ git checkout TEST
E applicare
$ 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
#
Mi piace anche git stash
perché uso git flow
, che si lamenta quando si desidera terminare un ramo di funzionalità pur avendo ancora modifiche nella directory di lavoro.
Proprio come @Mike Bethany, questo mi succede sempre perché lavoro su un nuovo problema dimenticandomi di essere ancora su un altro ramo. Quindi puoi riporre il tuo lavoro git flow feature finish...
e git stash apply
nella nuova git flow feature start ...
filiale.
git stash
è il mio modo preferito di gestire le modifiche senza impegno. È certamente un metodo intuitivo quando lo consideri come taglia e incolla.
git stash --include-untracked