2010-05-24 24 views
26

Sto provando a creare un nuovo repository git dalla cartella esistente. Ho creato un file .gitignore nella directory principale della cartella. Ma se dico.gitignore non funziona per me

git add * 
git commit 
git push 

i file che devono essere ignorati continuano a essere impegnati nel repository remoto. Sono su Windows. Inoltre ho comprato una licenza per SmartGIT. Sembra anche ignorare .gitignore. Devo selezionare manualmente i nuovi file da salvare.

Cosa sto sbagliando?

+3

Quale versione di Git stai usando? Inoltre, hai detto che stai usando Windows, quindi i separatori dei percorsi sono sempre problemi. Potresti pubblicare un esempio del tuo file '.gitignore' che non funziona come ti aspetti? –

+2

Potresti modificare la tua domanda e pubblicare il contenuto del tuo file '.gitignore'? '.gitignore' userà il metodo' fnname() 'che sottosta al sistema operativo: vedi per esempio: http://stackoverflow.com/questions/2330471 e http://stackoverflow.com/questions/1470572 – VonC

+0

Non l'ho sentito parlare di SmartGIT - Io uso MSysGit e TortoiseGit e sembrano funzionare bene con i file .gitignore.Se il problema riguarda SmartGIT, proverei l'alternativa di MSysGit e TortoiseGit. –

risposta

1

Probabilmente la maschera del file di esclusione non è accurata.

+0

I ' Ho copiato il file .gitignore da un altro progetto, dove funziona. –

+0

È .gitignore accessibile per git utente? Forse è un problema di autorizzazione? – takeshin

20

I file sono già stati tracciati? .gitignore disattiva solo i commenti sui file non tracciati, ma non interrompe il tracciamento di un file tracciato.

+0

No, ho provato alcune volte con nuovi repository nuovi. –

27

Prova "git add ." invece.

Inoltre, funziona per me (su Linux):

 
$ git init 
$ echo foo > .gitignore 
$ echo foo > foo 
$ echo bar > bar 
$ git add -v * 
The following paths are ignored by one of your .gitignore files: 
foo 
Use -f if you really want to add them. 
fatal: no files added 
12

ho avuto problemi con .gitignore anche. Ho controllato le risposte collegate elencate, che hanno risolto la metà del problema.

Ciò che ha veramente funzionato a pieno ritmo con Gitignore è stato l'aggiunta di un commento sulla prima riga del file. Git non stava analizzando l'esclusione situata sulla prima riga.

Acclamazioni

+2

Aggiungendo il commento su windows ha funzionato anche per me. +1 per te! –

+1

Purtroppo l'ho capito prima per me stesso ... poi ho trovato il tuo commento. Ora per vedere se questo è un bug che dovrebbe essere corretto! – altendky

25

Il file deve essere ancora rintracciato, si può vedere facendo git status che vi mostrerà che il file viene modificato, anche se è in .gitignore
Hai bisogno di fare questo:

git update-index --assume-unchanged [path_to_file] 
4

Un trucco che ho affrontato su Windows è che usando echo (come per la risposta di Jakub Narębski) devi stare attento con gli spazi.

Come si può vedere sotto ogni spazio prima che l'operatore di reindirizzamento abbia un effetto sull'ignorare reale.

C:\test>dir /B 
TOBEIGNORED 

C:\test>echo TOBEIGNORED > .gitignore 
C:\test>git status 
[...] 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#  .gitignore 
#  TOBEIGNORED 
C:\test>echo TOBEIGNORED> .gitignore 
C:\test>git status 
[...] 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#  .gitignore 
nothing added to commit but untracked files present (use "git add" to track) 
+1

SI NON UTILIZZARE L'ECO SU WINDOWS O SARÀ SPRECARE 3 ORE FIGURANDO PERCHÉ L'INFERNO IL GESTORE NON FUNZIONA –

0

sto usando git versione 1.7.12.3 su MacOSX e la prima linea di .gitignore non viene preso in considerazione. Basta aggiungere un commento come prima riga.

4

Potrebbe essere stato creato un file di testo con codifica UTF-8. Prova a salvarlo come codificato ANSI. In git bash, puoi verificare usando vi -b.

0

La riga di commento come prima riga del file è fondamentale! Ho passato molto tempo a cercare di escludere i file solo per scoprire che GIT stava ignorando la prima riga nel file ignore.

+0

Questo non è sicuramente il problema. Quasi nessuno dei miei file di gitignore (~ 50) ha un commento nella prima riga, e funzionano tutti perfettamente. – mhutter

Problemi correlati