2012-06-15 17 views
25

Sto cercando di creare un file .gitignore in modo che alcuni file non vengano archiviati nel repository. Qualcuno ha una guida su come e dove posizionare questo file? Ho provato a collocarlo nella mia directory di lavoro, ho eseguito lo stato git e sto ancora raccogliendo i file che vorrei ignorare.Git - Creazione di un file .gitignore

Ho usato questo file .gitignore ho trovato:

################### 
# compiled source # 
################### 
*.com 
*.class 
*.dll 
*.exe 
*.pdb 
*.dll.config 
*.cache 
*.suo 
# Include dlls if they’re in the NuGet packages directory 
!/packages/*/lib/*.dll 
# Include dlls if they're in the CommonReferences directory 
!*CommonReferences/*.dll 
#################### 
# VS Upgrade stuff # 
#################### 
UpgradeLog.XML 
_UpgradeReport_Files/ 
############### 
# Directories # 
############### 
bin/ 
obj/ 
TestResults/ 
################### 
# Web publish log # 
################### 
*.Publish.xml 
############# 
# Resharper # 
############# 
/_ReSharper.* 
*.ReSharper.* 
############ 
# Packages # 
############ 
# it’s better to unpack these files and commit the raw source 
# git has its own built in compression methods 
*.7z 
*.dmg 
*.gz 
*.iso 
*.jar 
*.rar 
*.tar 
*.zip 
###################### 
# Logs and databases # 
###################### 
*.log 
*.sqlite 
# OS generated files # 
###################### 
.DS_Store? 
ehthumbs.db 
Icon? 
Thumbs.db 
+0

Quali file non riesce a ignorare? – legoscia

+0

non riesce a ignorare dll e pdb – Funky

+0

Puoi fornire l'output di 'stato git, per favore? – Dancrumb

risposta

10

si deve aggiungere .gitignore all'indice prima di git vede. ovvero git add .gitignore

+0

L'ho aggiunto e ho usato git push, quindi ho eseguito git status, ma ho ancora lo stesso risultato – Funky

+5

È sufficiente avere un .gitignore nella cartella di livello superiore. Non è necessario aggiungere idt al repository. – Rudi

+1

Come ha detto Rudi, '.gitignore' non deve far parte del tuo repository. (Il file .gitignore stesso è spesso la mia prima voce.) – ellotheth

3

I progetti su cui ho lavorato, ho il file .gitignore nella directory principale del progetto, dove dovrebbe trovarsi la directory .git. Assicurati che il file sia impegnato.

Nota: se hai già eseguito il commit dei file che stai cercando di ignorare (cioè Git li sta monitorando), non possono essere ignorati. Dovresti prima srotolarli.

https://help.github.com/articles/ignoring-files

+0

Sospetto che il problema sia che @Funky ha già eseguito il commit di questi file come dici tu, quindi la soluzione sarebbe rimuoverli dall'indice git con 'git rm file ... 'e dopo" .gitignore' "funzionerà " –

18

Posizionamento di .gitignore dipende se i file devono essere ignorato per un solo repo o per tutte le operazioni pronti contro termine. Per un repository, posizionarlo nella radice del repository.

Quando si crea un file .gitignore in un repository esistente o si aggiungono file che erano già nel repository, è necessario assicurarsi di rimuovere i file da ignorare dal repository.

Se si dispone di un test.dll nella radice, che si hanno a che fare

git rm --cached test.dll 

Ora, se avete un sacco di file, come hai detto si può optare per l'opzione seguente, rimuovere tutto dalla cache, aggiungi tutto indietro (i file in .gitignore non verranno aggiunti) e rimetterà tutto di nuovo.

git rm -r --cached . 
git add . 
git commit -m "Start using .gitignore" 
0

Dal @thescientist collegamento ha pubblicato:

Git permette di ignorare quei file dal ammesso che sono invariati. Questo viene fatto eseguendo il comando

git update-index --assume-unchanged path/to/file.txt

. Una volta contrassegnato un file come tale, git ignorerà completamente tutte le modifiche su quel file; non verranno visualizzati durante l'esecuzione di git status o git diff, né verranno mai commessi.

Problemi correlati