188 votes

Mettre des modifications non validées sur Master à une nouvelle branche par Git

Comment pouvez-vous mettre des modifications non validées à un test de branche lorsque je suis sur la branche master ?

150voto

Samuel Carrijo Points 9056

Vous pouvez simplement passer à la branche de test, puis valider. Vous ne perdez pas vos modifications non-motivées lorsque vous passez à une autre branche.

Supposons que vous soyez à la branche maîtresse:

 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 .

35voto

HeyWatchThis Points 2221

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 direction 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
$

Se déplacer de l'autre branche.

$ git checkout TEST

Et de les 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 je utiliser git flow, qui se plaint quand vous voulez terminer une branche de fonctionnalité tout en ayant des changements dans votre répertoire de travail.

Tout comme @Mike Béthanie, ce qui m'arrive tout le temps parce que je travaille sur un nouveau problème tout en oubliant que je suis toujours sur une autre branche. Ainsi, vous pouvez ranger votre travail, git flow feature finish..., et git stash apply de des nouvelles git flow feature start ... de la branche.

5voto

Bombe Points 34185
git checkout TEST
git add file1 file2
git commit

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X