2
votes

Git Comment annuler les modifications apportées à un sous-module

J'ai fait quelques travaux dans un dépôt git X, qui a un sous-module Y. J'ai fait quelques changements sur des fichiers dans X, que je veux conserver et j'ai fait un changement dans le sous-module Y que je veux supprimer maintenant. Je souhaite donc annuler toutes les modifications locales que j'ai apportées au sous-module.

J'ai essayé git checkout - ../dep/libY mais rien ne change.

Le statut de Git dit:

modified:   ../dep/libY (modified content)

git

1 commentaires

L'exécutez-vous à partir de la racine du répertoire extrait @Darragh?


3 Réponses :


2
votes

Un sous-module est un dépôt Git. Vous pouvez donc cd dans le sous-module, et utiliser git reset --hard pour supprimer le travail effectué dans l'arborescence de travail et l'index de cet autre référentiel Git. (Assurez-vous d'exécuter d'abord git status dans cet arbre de travail, ainsi que d'autres commandes Git, si / comme vous le souhaitez pour vous assurer que tous les fichiers que vous supprimez sont vraiment indésirables.)


0 commentaires

0
votes

Dans votre répertoire extrait, exécutez cette commande qui réinitialisera les fichiers modifiés dans ce sous-répertoire à la révision HEAD (en bref, cela supprimera vos modifications non validées dans ce sous-module / sous-répertoire)

git checkout HEAD -- ../dep/libY 

Dans votre cas, la commande serait:

git checkout HEAD -- path/to/submodule


0 commentaires

1
votes

Si vous souhaitez annuler les modifications, sous-module git checkout

git checkout ./ 

OU

Accédez au dossier (pour lequel vous souhaitez annuler toutes les modifications) et exécuter

git checkout dep/libY


0 commentaires