2011-07-08 4 views
35

J'ai appris how to exclude an entire directory in git (ajoutez une ligne bin/ à .gitignore). Et je l'ai appris how to ignore files "after the fact" (à savoir après qu'ils ont été ajoutés à git):Ignorer un répertoire d'un dépôt Git après son ajout

git rm --cached <filename> 

Comment puis-je ignorer un répertoire toute (par exemple bin/) après il a été ajouté à une prise en pension Git?

J'ai essayé git rm --cached bin/ mais tout ce que je recevais était l'erreur:

fatal: pathspec 'bin/' did not match any files

Quand j'ai essayé (dans le répertoire racine, où .git existe) git rm --cached MyProj/bin/ l'erreur est différente:

fatal: not removing 'MyProj/bin/' recursively without -r

Qu'est-ce que est-ce que cela signifie et aurai-je besoin de commettre et/ou de brancher ceci maintenant?

+3

Notez la balise '-r' dans ma réponse. Vous devez l'utiliser pour 'récursif' :) – Nic

+0

@melee Ça a marché! Mais maintenant j'ai une autre question (s). Voir mise à jour. :) – WinWin

Répondre

65

j'ai pu obtenir ce travail avec git rm -r --cached bin/ (notez le -r récursive) dans la racine du repo - Vous parlez de trouver les répertoires bin et les défiliarisation?

Vous devrez commit avant que l'exclusion ne soit reflétée. Je viens de voir que vous étiez sous Windows. C'était dans Terminal sur OSX, juste un heads-up.

+0

Oui, je suis sur Windows mais j'utilise Cygwin qui fournit une expérience entière de type Unix ... Voir ma mise à jour ci-dessus. Je ne suis pas sûr de comprendre ce que vous entendez par «trouver». J'ai vraiment un seul sous-répertoire 'bin /' sous mon projet. Le répertoire '.git' est cependant un frère du répertoire de mon projet (c'est-à-dire que le suivi complet de git commence un répertoire ci-dessus, qui pourrait contenir plusieurs projets). Merci et +1 pour les idées. – WinWin

+0

Hmm. Voici une idée. touchez ou modifiez un des fichiers dans le répertoire bin puis essayez d'obtenir le statut. Si cela fonctionne, ils ne devraient plus suivre. – Nic

+0

@WinWin désolé à ce sujet, j'étais sur mon téléphone et a raté une partie de votre montage. Je suis content que vous ayez pu le comprendre! – Nic

Questions connexes