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 stashperché 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 applynella 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