web-dev-qa-db-fra.com

Exclure les dossiers .svn dans git

J'essaie d'exclure les dossiers de Subversion d'être suivis par git. J'ai essayé quelques configurations différentes pour .git/info/exclude, mais cela ne semble pas fonctionner. J'utiliserais git-svn, mais c'est difficile de demander l'accès pour que cela fonctionne, donc je préfère juste contourner cela en excluant les dossiers.

Je souhaite exclure ".svn/entries"

J'ai essayé d'ajouter les lignes suivantes à .git/info/exlude: entrées .svn .svn/entrées entréessvn

Peu importe ce que j'essaie, les entrées .svn apparaissent lorsque j'exécute git status

68
johannix

Je pense que vous souhaitez utiliser un fichier .gitignore dans votre répertoire de niveau supérieur. Cela fonctionnera si vous mettez ".svn/entries" sur une ligne de ce fichier. Vous pouvez également mettre ".svn" au lieu de ".svn/entries".

EDIT: Voir les commentaires. Si ces fichiers sont déjà suivis par git, ils s'afficheront toujours dans git status.

50
Jesse Rusak

Ce fil a la bonne réponse:

Git - Ignorer certains fichiers contenus dans des dossiers spécifiques

Ce dont vous avez vraiment besoin, c'est:

.svn*
29
RoloDMonkey

Mettez ".svn" dans un ~/.gitexcludes fichier. Ensuite, parlez-en à git:

echo '.svn' > ~/.gitexcludes
git config --global core.excludesfile "/home/USER_NAME/.gitexcludes"

(Assurez-vous de modifier USER_NAME pour qu'il pointe vers votre répertoire personnel)

25
cmcginty

La structure suivante et le contenu .gitignore ont fonctionné pour moi

  • \ .git
  • \ .svn
  • \ .gitignore

Contenu du .gitignore

.svn/
.gitignore
5
harryhazza

si vous souhaitez conserver le répertoire svn.

vous pouvez d'abord exécuter ce qui suit:

for dir in $(find ./ -type d -name \*.svn); do git rm --cached  -r $dir; done;

puis exécutez echo ".svn" >>.gitignore dans le répertoire racine

3
tengzhao201

Faites ce que Casey suggère, sauf nommez le fichier .gitignore et placez-le dans la racine de votre dépôt git.

J'aime aussi faire un attrib +h .gitignore pour qu'il n'apparaisse pas dans mes fenêtres Explorer.

3
Andrew Burns

puisque chaque dossier versionné a un répertoire .svn vous devez mettre:

* /. svn/*

2
nils petersohn

Ajouter .svn à mon .gitignore et exécuter la commande de JesseRusak a fait l'affaire pour moi.

Merci!

0
Victor Lazov