1966 votes

Comment puis-je mettre en cache un fichier spécifique dans git ?

Comment puis-je mettre en mémoire un fichier spécifique en laissant les autres fichiers modifiés en dehors de la mémoire que je suis sur le point de sauvegarder ?

Par exemple, si git status me donne ceci :

younker % gst      
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   app/controllers/cart_controller.php
#   modified:   app/views/cart/welcome.thtml
#
no changes added to commit (use "git add" and/or "git commit -a")

et je veux seulement cacher app/views/cart/welcome.thtml, comment dois-je faire ? Quelque chose comme (mais bien sûr cela ne fonctionne pas) :

git stash save welcome_cart app/views/cart/welcome.thtml

65 votes

La question "duplicata possible" a actuellement une réponse incorrecte marquée comme acceptée.

8 votes

Vous pouvez utiliser git checkout -- filename et le ramener à son état d'origine.

10 votes

@visualex il va en effet le rétablir, mais pas le cacher.

2voto

georgiecasey Points 2914

Si vous êtes d'accord pour utiliser un client GIT GUI, Fourche pourra le faire de manière assez transparente à partir de mai 2020. Un GIF de la fonctionnalité de la cachette partielle le montrera mieux que n'importe quel mot : GIF of partial stash functionality in git-fork

Notez que Fork (qui est un nom difficile à trouver sur Google !) n'est pas un logiciel gratuit et coûte 50 $ après la période d'évaluation, mais vous pouvez simplement ignorer les popups comme vous le faites pour WinRAR ou WinZip.

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