C'est une approche simple si vous n'avez pas beaucoup de changements de code:
1. git stash
2. git stash apply
3. remove the files/code you don't want to commit
4. commit the remaining files/code you do want
Ensuite, si vous voulez que le code que vous avez supprimé (bits que vous n'avez pas validés) dans une validation distincte ou une autre branche, alors tout en restant sur cette branche, faites:
5. git stash apply
6. git stash
Avec l'étape 5 comme vous avez déjà appliqué la stash et validé le code que vous vouliez à l'étape 4, le diff et non suivi dans la stash nouvellement appliquée est juste le code que vous avez supprimé à l'étape 3 avant de vous engager à l'étape 4.
En tant que telle, l'étape 6 est une cachette du code que vous n'avez pas [voulu] valider, car vous ne voulez probablement pas vraiment perdre ces modifications, n'est-ce pas? Ainsi, le nouveau stash de l'étape 6 peut maintenant être validé dans cette branche ou dans n'importe quelle autre en faisant git stash appliquer sur la bonne branche et en le validant.
Évidemment, cela suppose que vous effectuez les étapes en un seul flux, si vous planifiez à tout autre moment de ces étapes, vous devrez noter la référence de la stash pour chaque étape ci-dessus (plutôt que simplement la stash de base et appliquer la stash la plus récente).