504 votes

Git : Stocker un seul fichier

J'aimerais pouvoir stocker uniquement les modifications d'un seul fichier :

git stash save -- just_my_file.txt

Ce qui précède ne fonctionne pas. Y a-t-il des alternatives ?

262voto

Wes Hardaker Points 10426

Je pense stash -p est probablement le choix que vous voulez, mais au cas où vous rencontreriez d'autres choses encore plus délicates à l'avenir, n'oubliez pas cela :

Stash n'est en fait qu'une alternative très simple à l'option légèrement plus complexe branch ensembles. Stash est très utile pour déplacer les choses rapidement, mais vous pouvez accomplir des choses plus complexes avec des branches sans trop de casse-tête et de travail.

# git checkout -b tmpbranch
# git add the_file
# git commit -m "stashing the_file"
# git checkout master

faire ce que vous voulez, et plus tard, simplement rebase et/ou merge la branche tmp. Ce n'est pas vraiment que beaucoup de travail supplémentaire lorsque vous devez faire un suivi plus minutieux que ce que votre réserve vous permet.

68voto

Benjamin Bannier Points 11953

Vous pouvez mettre en cache des lignes individuelles de manière interactive avec git stash -p (analogue à git add -p ).

Il ne prend pas de nom de fichier, mais vous pouvez sauter d'autres fichiers avec d jusqu'à ce que vous atteigniez le fichier que vous voulez mettre en cache et que vous y mettiez toutes les modifications avec a .

28voto

CharlesB Points 27070

La meilleure option est de tout mettre en scène sauf ce fichier, et de dire à stash de garder l'index avec git stash save --keep-index ce qui permet de conserver le fichier non indexé :

$ git add .
$ git reset thefiletostash
$ git stash save --keep-index

Comme le souligne Dan, thefiletostash est le seul à être réinitialisé par la cachette, mais il cache aussi les autres fichiers, donc ce n'est pas exactement ce que vous voulez.

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