161 votes

Effacer le cache local de git

J'ai un projet Webstorm que j'étais sur le point de valider, mais avant d'appuyer sur le bouton de validation dans l'interface graphique Windows de Git, je me suis souvenu que je ne voulais pas valider mon projet Webstorm. .idea le contenu du dossier.

J'ai donc utilisé le site web qui génère automatiquement .gitignores pour certains IDE et je l'ai ajouté à mon .gitignore fichier.

Tous .idea Les fichiers qui sont explicitement ignorés apparaissent toujours dans le commit, malgré le fait que j'ai supprimé et ré-adjoint les fichiers en question.

J'ai également validé le fichier gitignore sans aucun autre fichier, et recollé mon contenu, mais il n'ignore toujours pas les fichiers .idea.

Comment puis-je demander à Git de rafraîchir ou de vider son cache ?
J'ai essayé d'entrer dans le répertoire en question, et de taper

git clean -n

mais aucun fichier ne s'affiche.

251voto

jsexpert Points 704

Tous les fichiers .idea qui sont explicitement ignorés sont toujours affichés pour la validation.

vous devez les retirer de la zone de transit.

git rm --cached .idea

Vous devez maintenant valider ces changements et ils seront ignorés à partir de maintenant.
Une fois que git a commencé à suivre les changements, il n'arrêtera pas de les suivre, même s'ils ont été ajoutés à la liste des modifications. .gitignore plus tard.

Vous doit les supprimer explicitement, puis valider votre suppression manuellement afin de les ignorer complètement.


enter image description here

enter image description here

5 votes

Je ne commet jamais les fichiers que j'essaie d'ignorer, cependant.. Cela me dit fatal: pathspec '.idea' did not match any files

0 votes

Quand vous tapez git status, les voyez-vous ? WebStorm a pu les ajouter pour vous si vous avez coché la case pour ajouter automatiquement les fichiers.

2 votes

Je n'en ai aucune idée mais il semble que la commande que vous m'avez donnée a fonctionné, même si elle a retourné une erreur fatale..... Les fichiers n'apparaissent plus pour la livraison.

192voto

Kamal Kumar Points 1369

Lorsque vous pensez que votre git est en désordre, vous pouvez utiliser cette commande pour tout remettre à jour.

git rm -r --cached .
git add .
git commit -am 'git cache cleared'
git push

Aussi, pour revenir au dernier commit, utilisez ce :

git reset HEAD^ --hard

9 votes

N'utilisez pas git push si vous ne voulez pas pousser les changements sur le serveur distant. Cependant, si vous le faites, allez dans l'onglet de contrôle de version en bas d'Android studio, faites un clic droit sur le commit précédent et choisissez "Reset current branch to here".

0 votes

La partie de réinitialisation était au mieux confuse. mais j'ai fait jusqu'à 'git push', et c'était bon.

0 votes

Un avertissement sur cette réponse. Le site git rm -r --cached . suivi par git add . va d'abord réinitialiser tous les fichiers de votre projet et l'avertissement se poursuit git add . parce que vous pourriez ajouter des fichiers qui ne sont pas prêts à être livrés et poussés. Faites un git reset . et ensuite git status pour vérifier si tous les fichiers sont prêts à être ajoutés, commités et poussés.

31voto

Akshay Kumar Points 1884

Si vous faites des changements sur git ignore alors vous devez aussi vider votre cache git

> git rm -r --cached . 
> git add . 
> git commit -m 'git cache cleared'
> git push

si vous voulez supprimer un dossier ou un fichier particulier, alors

git rm  --cached filepath/foldername

11voto

Mohammad Trabelsi Points 1100

De este

git rm -r --cached .
git add .
git commit -am 'git cache cleared'
git push

Lorsque vous pensez que votre git est en désordre et qu'il agit bizarrement, vous pouvez essayer de vider votre cache git et de tout réorganiser proprement

assurez-vous que vous avez deux tirets (- -).

9voto

Akshay Points 89

Après ce changement dans le fichier git-ignore, exécutez cette commande, cette commande supprimera tout le cache des fichiers, pas les fichiers ou les changements.

git rm -r --cached .

après l'exécution de cette commande, engagez les fichiers

pour supprimer un seul fichier ou dossier du cache, utilisez cette commande

git rm --cached filepath/foldername

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