Est-il possible, sans pop place entière et enregistrer un autre sans ce fichier particulier?Est-il possible de supprimer un seul fichier de git stash?
Répondre
Réponse courte: non, ce n'est pas comment la pile travaux. Vous pouvez cependant faire ce qui suit pour obtenir le résultat que vous recherchez.
En supposant que vous avez planqué quelques autres changements, puis a fait quelques autres modifications à votre index (changements originaux) et vous décidez que vous voulez garder ces changements tout en modifiant la planque:
#verify the state you are in
git stash list
git status
git stash #push work in progress on the stash
git stash list #check which stash you need
git stash show [email protected]{1} #check the changes in the stash
git stash pop [email protected]{1} #you're now ready to change your 'other' changeset
# hack hack
git stash #modified 'other' change set pushed on the stash
git stash pop [email protected]{1} #your 'original changes'
Je recommanderais ce flux de travail en essayant de modifier directement la cachette. Si vous êtes perdu dans les numéros de cachette, vous pouvez également utiliser git stash save 'some other changes'
À un certain point (probablement plus près que vous ne le pensez), il est plus facile de garder une trace des vraies branches.
Vous pouvez essayer, après éclater votre pile, pour marquer le fichier que vous ne voulez pas planquer comme « sans changement »:
git update-index --assume-unchanged -- /path/to/file
, et puis essayer de cacher, vérifier si ledit fichier est inclus ou ne pas.
--assume-unchanged
--no-assume-unchanged
Lorsque ces drapeaux sont spécifiés, les noms des objets enregistrés pour les chemins ne sont pas mis à jour. Au lieu de cela, ces options définissent et désactivent le bit "supposé inchangé" pour les chemins. Lorsque le bit "supposer inchangé" est activé, git ne vérifie plus les modifications possibles dans les fichiers de l'arborescence de travail. Vous devez donc désactiver manuellement le bit pour indiquer à git lorsque vous modifiez le fichier de l'arborescence de travail. Ceci est parfois utile lorsque vous travaillez avec un gros projet sur un système de fichiers qui a un appel système très lent
lstat(2)
(par exemple,cifs
).Cette option peut également être utilisé comme un mécanisme de niveau de fichier grossier pour ne pas tenir compte des modifications non validées dans les fichiers chenillés (semblables à ce que
.gitignore
fait pour les fichiers non suivis)