Comment pouvez-vous mettre des modifications non validées sur un test de branche lorsque je suis dans la branche master
?
Vous pouvez simplement accéder à la branche test, puis valider. Vous ne perdez pas vos modifications non validées lorsque vous passez à une autre branche.
En supposant que vous soyez à la branche master:
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 aussi créer une nouvelle branche et y basculer de la manière suivante:
git checkout -b new_branch
git add .
J'utilise ceci tout le temps parce que 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 certains 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
$
Déplacer vers l'autre branche.
$ git checkout TEST
Et appliquer
$ 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
, qui se plaint lorsque vous souhaitez terminer une branche de fonctionnalité tout en conservant les modifications dans votre répertoire de travail.
Tout comme @ Mike Bethany, cela m’arrive tout le temps parce que je travaille sur un nouveau problème en oubliant que je suis toujours sur une autre branche. Donc, vous pouvez stash votre travail, git flow feature finish...
, et git stash apply
A nouveau git flow feature start ...
branche.
git checkout TEST
git add file1 file2
git commit