81 votes

Comment dire à git de ne cacher que l'index?

J'ai juste utilisé un "git add -p" pour ajouter un tas de modifications à l'index, et je viens de réaliser que j'ai raté un changement qui devrait avoir disparu dans la précédente livraison.

Je ne peux pas commit --amend maintenant parce que j'ai ajouté tous ces nouveaux changements à l'indice, et je ne veux pas utiliser git reset " pour les supprimer tous à partir de l'index, car il faudra les âges pour tous les ajouter à nouveau.

Ce dont j'ai besoin est quelque chose comme "git stash" qui ne cachez l'index - les fichiers de travail seul. Ensuite je met l'index, ajouter le manque de changement, de l'envoyer, puis pop la cachette et de mon index de retour la façon dont il était.

Il ne ressemble pas à git stash' est capable de faire cela, mais suis-je raté quelque chose? Merci!

38voto

Leif Gruenwoldt Points 3583

La chose la plus proche que j'ai trouvée est git stash --patch . Il vous guide à travers chacune des modifications apportées à l'arborescence de travail et à l'index, vous permettant de choisir quoi ranger.

http://www.kernel.org/pub/software/scm/git/docs/git-stash.html

28voto

Kevin Ballard Points 88866

Le moyen le plus simple consiste à laisser ce changement en ce moment, à effectuer votre nouveau commit, puis à créer un deuxième commit avec juste le changement que vous souhaitez utiliser pour modifier, puis à utiliser git rebase -i pour l'écraser avec la tête d'origine.

Une alternative serait de faire votre commit, de le taguer, de revenir en arrière avec git reset HEAD^ , d'ajouter cette modification et de modifier HEAD, puis de choisir votre commit taggé.

11voto

user1338062 Points 1553

Validez votre index, créez une correction de correction et rebasez à l'aide de la fonction de correction automatique:

 git commit
git add -p                         # add the change forgotten from HEAD^
git commit --fixup HEAD^           # commits with "fixup! <commit message of HEAD^>"
git rebase --autosquash -i HEAD~3
 

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