2010-07-22 6 views
0

J'essaie de synchroniser mon ordinateur de bureau et mon ordinateur portable en utilisant un git cron'd. Cela fonctionne magnifiquement sur un seul répertoire. Cependant, je veux synchroniser plusieurs fichiers de configuration dispersés et d'autres choses. Pour ce faire, j'ai décidé de transformer mon dossier personnel en répertoire git et d'ignorer tout sauf quelques fichiers et répertoires.Comment gérez-vous tout sauf un répertoire?

$ cat .gitignore 
* 
# test is a directory 
!test 

Ne fonctionne pas. En regardant une autre question de stackoverflow, j'ai trouvé */ et l'ai utilisé au lieu de *. Cela a presque fonctionné comme je le voulais, mais ensuite tous les fichiers cachés cachés que j'ai dispersés dans mon répertoire personnel sont apparus.

Répondre

2

De mon git ignore dans mon répertoire personnel.

*

Ensuite, vous devez git add -f des choses que vous voulez engager. Au moins c'est comme ça que je le fais pour mes configs.

+0

Cela fonctionnerait pour les fichiers de configuration unique. Mais par exemple, je veux synchroniser tout mon dossier de documents. Donc, une partie du script exécute 'git add. 'Pour récupérer tous les nouveaux fichiers créés. –

+1

alors faites-le 'git add -f mon_docs_dir/*' – baudtack

0

Essayez:

!test/* 

à la place. Je ne suis pas sûr si cela fonctionnera (devinez sauvage), mais cela vaut la peine d'essayer.

0
$ cat .gitignore 
**/* 
* 
# test is a directory 
!test 
2

Ce qui fonctionne pour moi:

# Ignore every directory 
/* 
# Except this one 
!/test 

Ou

# Ignore every file 
* 
# Except these ones 
!test 
!test/* 
!test/*/* 

Questions connexes