J'ai tiré un référentiel à l'aide de Tortoisisesvn. Dans ce sont Le problème est que, dans ma copie locale, j'ai supprimé les dossiers Je sais comment supprimer des données sensibles de GitHub Repo d'ici: P>
http://help.github.com/remove-senitive-Data/ p>
Mais si j'utilise cela, je dois suivre cette procédure plus de 10 fois (et c'est une telle perte de temps pour le faire) ... Je me demandais donc que tout le monde peut me dire comment supprimer tout .svn code> dossiers de la racine et de tous les sous-dossiers. J'ai créé un référentiel GitHub et poussé un référentiel total. P>
.svn code> à partir de Repo, puis commit les modifications. Il ne supprime pas le dossier des versions précédentes du référentiel ... p>
. svn code> dossiers de tout le repo en une seule fois? p>
3 Réponses :
J'avais besoin de le faire récemment et je viens de courir la commande suivante de mon répertoire racine de mon repo: cette recherche récursivement pour toutes les occurrences du dossier .svn et le supprime et son contenu récursivement. Le paramètre La prochaine chose à faire, bien sûr, est d'ajouter. SVN à votre .gitnore pour que vous ne puissiez plus jamais suivre ces fichiers. p> p> - Ignorer-immatch code> empêche le git d'étouffement s'il ne trouve pas le fichier spécifié dans le référentiel. p>
Essayez ceci:
find . -type d -name .svn | xargs git rm -rf --ignore-unmatch
J'ai récemment dû faire cela sur ma machine Windows. Voici la commande comparable PowerShell. Il y a probablement une meilleure façon, mais je suis assez maladroit avec PS:
gci -Recurse -filter ".svn" | ?{ $_.PSIsContainer } | Select-Object FullName | %{ git rm -rf --ignore-unmatch $_.FullName }