Comment pouvez-vous apporter des modifications non validées à un TEST de succursale lorsque je suis à la succursale master
?
Comment pouvez-vous apporter des modifications non validées à un TEST de succursale lorsque je suis à la succursale master
?
Réponses:
Vous pouvez simplement vérifier dans la branche de test, puis vous engager. Vous ne perdez pas vos modifications non validées lorsque vous passez à une autre succursale.
En supposant que vous soyez dans la branche principale:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
Je ne suis pas vraiment sûr des fichiers supprimés, mais je suppose qu'ils ne sont pas inclus lorsque vous utilisez git add .
Vous pouvez également créer une nouvelle branche et y basculer en faisant:
git checkout -b new_branch
git add .
J'utilise cela tout le temps car j'oublie toujours de démarrer une nouvelle branche avant de commencer à éditer du code.
Pourquoi ne pas simplement utiliser git stash. Je pense que c'est plus intuitif comme un copier-coller.
$ git branch
develop
* master
feature1
TEST
$
Vous avez des fichiers dans votre branche actuelle que vous souhaitez déplacer.
$ 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
$
Passez à l'autre branche.
$ git checkout TEST
Et postuler
$ 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
#
J'aime aussi git stash
parce que j'utilise git flow
, ce qui se plaint lorsque vous voulez terminer une branche de fonctionnalité tout en ayant des modifications encore dans votre répertoire de travail.
Tout comme @Mike Bethany, cela m'arrive tout le temps car je travaille sur un nouveau problème en oubliant que je suis toujours sur une autre branche. Ainsi, vous pouvez stocker votre travail git flow feature finish...
, et git stash apply
dans une nouvelle git flow feature start ...
branche.
git stash
est ma manière préférée de traiter les changements non engagés. C'est certainement une méthode intuitive quand on la considère comme du copier-coller.
git stash --include-untracked