2010-11-09 39 views
2

Résolu: Décidé de supprimer le répertoire .git et réessayez, car il n'y avait rien de toute façon. rm -rf .git, puis git init, puis git add.. Maintenant, cela fonctionne, tout est ajouté correctement, et les choses qui devraient être ignorées sont. Pense que j'ai mal copié 960gs ou html5boilerplate dans le répertoire du projet au lieu d'un sous-répertoire. Merci à tous pour vos réponses, très appréciées.git ignore les fichiers qui ne sont pas dans .gitignore?


Il ya beaucoup de questions sur SO à propos de git ne pas ignorer les fichiers spécifiés dans .gitignore. Mon problème est exactement le contraire - git ignore les fichiers qui ne sont pas répertoriés dans .gitignore.

Par exemple, je viens de démarrer un projet Web en utilisant HTML5Boilerplate et 960 Grid System, et j'essaie de faire la validation initiale. Cependant, seulement quelques-uns des fichiers et répertoires dont j'ai besoin sont mis en scène quand je lance 'git add *'. .gitignore dans le répertoire du projet spécifie une liste de fichiers projet, vcs et autres à ignorer, mais pas les fichiers * .html, * .xml, * .conf, .htaccess, * .ico, * .png, qui ne sont pas mis en scène à l'index. Curieusement, un fichier html est ajouté, demo.html, tandis que index.html ne l'est pas.

Quelqu'un a une idée de ce qui ne va pas et comment le réparer?

Voici une transcription des opérations pour plus de clarté:

%> ls -al 
total 136 
drwxr-xr-x 13 me me 4096 2010-11-08 14:04 . 
drwxr-xr-x 6 me me 4096 2010-11-08 13:23 .. 
-rw-r--r-- 1 me me 720 2010-11-08 13:21 404.html 
-rw-r--r-- 1 me me 1893 2010-11-08 13:21 apple-touch-icon.png 
drwxr-xr-x 3 me me 4096 2010-11-08 13:21 build 
-rw-r--r-- 1 me me 802 2010-11-08 13:21 crossdomain.xml 
drwxr-xr-x 3 me me 4096 2010-11-08 13:24 css 
drwxr-xr-x 2 me me 4096 2010-11-08 13:21 demo 
-rwxr-xr-x 1 me me 8920 2010-11-08 13:15 demo.html 
-rw-r--r-- 1 me me 1150 2010-11-08 13:21 favicon.ico 
drwxr-xr-x 8 me me 4096 2010-11-08 14:04 .git 
-rw-r--r-- 1 me me 266 2010-11-08 13:44 .gitignore 
-rw-r--r-- 1 me me 8011 2010-11-08 13:21 .htaccess 
drwxr-xr-x 2 me me 4096 2010-11-08 13:21 images 
drwxr-xr-x 2 me me 4096 2010-11-08 13:15 img 
-rw-r--r-- 1 me me 3115 2010-11-08 13:21 index.html 
drwxr-xr-x 5 me me 4096 2010-11-08 13:21 js 
-rw-r--r-- 1 me me 5166 2010-11-08 13:21 lighttpd.conf 
-rw-r--r-- 1 me me 3484 2010-11-08 13:21 mime.types 
-rw-r--r-- 1 me me 3413 2010-11-08 13:21 nginx.conf 
-rw-r--r-- 1 me me  0 2010-11-08 14:04 output.txt 
-rw-r--r-- 1 me me 6277 2010-11-08 13:21 README.markdown 
-rw-r--r-- 1 me me 107 2010-11-08 13:21 robots.txt 
drwxr-xr-x 4 me me 4096 2010-11-08 13:17 templates 
drwxr-xr-x 3 me me 4096 2010-11-08 13:21 test 
drwxr-xr-x 2 me me 4096 2010-11-08 13:45 vim~ 
-rw-r--r-- 1 me me 12274 2010-11-08 13:21 web.config 
drwxr-xr-x 2 me me 4096 2010-11-08 12:09 wireframes 

%> less .gitignore 
# Numerous always-ignore extensions 
*.diff 
*.err 
*.orig 
*.log 
*.rej 
*.swo 
*.swp 
*.vi 
*~ 

# OS or Editor folders 
.DS_Store 
.cache 
.project 
.settings 
nbproject 
thumb.db 

# Folders to ignore 
.hg 
.svn 
publish 
.idea 
templates 
template 

# files 
build/buildinfo.properties 

%> git add * 
# Not currently on any branch. 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# new file: css/960.css 
# new file: css/960_24_col.css 
# new file: css/reset.css 
# new file: css/rtl_960.css 
# new file: css/rtl_960_24_col.css 
# new file: css/rtl_text.css 
# new file: css/text.css 
# new file: css/uncompressed/960.css 
# new file: css/uncompressed/960_24_col.css 
# new file: css/uncompressed/demo.css 
# new file: css/uncompressed/reset.css 
# new file: css/uncompressed/rtl_960.css 
# new file: css/uncompressed/rtl_960_24_col.css 
# new file: css/uncompressed/rtl_text.css 
# new file: css/uncompressed/text.css 
# new file: demo.html 
# new file: img/12_col.gif 
# new file: img/16_col.gif 
# new file: img/24_col.gif 
# new file: wireframes/basalmiq01.pdf 
# new file: wireframes/basalmiq01.png 
# new file: wireframes/basalmiq01.xml 
# new file: wireframes/fcf_mockingbird.zip 
# new file: wireframes/fcf_mockingbird_.zip 
# 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: .gitignore 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# output.txt 
+0

Y a-t-il des fichiers '.gitignore' dans les répertoires parents? Quel est le contenu de '.git/info/exclude'? – unutbu

+0

Je suppose qu'il y a un 'git status' que vous avez découpé après le' git add'? Y a-t-il un .gitignore dans un sous-répertoire? Et ce que vous avez collé n'est pas clair quels sont les fichiers listés qui ont déjà été suivis et auxquels vous vous attendiez à être ajouté mais qui ne l'ont pas été. (en dehors de output.txt) – Cascabel

+0

@Jefromi - Je n'ai rien découpé, cette sortie est verbatim, c'est pourquoi il est si étrange qu'il manque des fichiers que l'on pourrait croire inclus. Et rien n'est déjà suivi, c'est un tout nouveau dépôt et c'est le commit initial. – Kurtosis

Répondre

1

Peut-être que ces fichiers sont déjà contrôlés par git.

+0

C'est le commit initial, rien n'est encore dans le repo. – Kurtosis

+1

A la réflexion, pense que tu avais raison après tout. – Kurtosis

+0

Yup. Une fois que git suit un fichier, l'ajouter à '.gitignore' ne fait rien. Vous devez dire à git de l'oublier en utilisant 'git rm', ou d'arrêter de chercher des changements, en utilisant' git update-index --assume-unchanged' – MatrixFrog