Domanda

Ho creato un file .gitignore nella cartella con la cartella .git, ma ho ancora i file che sto cercando di ignorare quando si fa una nuova scansione del repository.

Questo è il contenuto del file.

# Ignored files
*.suo 
*.user 
bin 
obj 
*.pdb 
*.cache 
*_svn 
*.svn 
*.suo 
*.user 
*.build-res 
TestResults 
_ReSharper*

Che cosa sto facendo di sbagliato? dove è il file supponiamo di essere situato?

È stato utile?

Soluzione

È necessario assicurarsi che il file che si sta ancora vedendo non sono attualmente impegnati o messa in scena.

Se si rimuove loro (git rm o git rm --cached), e poi aggiungerli come file di privati, allora saranno ignorati.

Altri suggerimenti

Il file sembra buono. Basta fare in modo che non avete qualsiasi tipo di spazi bianchi all'inizio di ogni riga, mi ci sono voluti 4 ore per trovare il motivo per cui il mio .gitignore non funzionava correttamente; il motivo era ovviamente un problema cut'n'paste dove ho avuto una linea verticale di spazi all'inizio del file.

Si dovrebbe essere cauti con git commit -a prima di fare in modo che il file .gitignore pulisce veramente fuori tutto quello che non vuoi. In entrambi i contrassegnare ogni file (o utilizzare i caratteri jolly) con git add *.cpp *.h o - come preferisco -. Sviluppare la vostra .gitignore come si procede, e controllare sempre con git status prima di commettere

Se si desidera controllare due volte che il vostro .gitignore funziona davvero, provare

git ls-files --others -i --exclude-standard

Questo dovrebbe elencare tutti i file che si sta ignorando.

Per pulire i file che hai già aggiunto (probabilmente usando git add ., un errore che tutti noi facciamo nel principio =]) si può fare come @ VonC detto file-con-git-gui how-do-i-ignore-: sia run

git rm <filename>

o

git rm --cached <filename>

Un'altra opzione di pulizia di tutti i file che hai involontariamente aggiunto è di pulire completamente il repository, e quindi aggiungere nuovamente di nuovo tutto. Se si vuole cancellare tutto nella zona di sosta, è possibile eseguire

git --rm cached .

Ma ricordate di non correre git add . Fino a quando hai fatto in modo che git status elenca solo i file che si vuole veramente nel repository.

Un'altra cosa molto utile con git è che non ha bisogno di percorsi di file quando si utilizza caratteri jolly. Se si inseriscono i file ignorati e vedere che si desidera rimuovere tutti i file *.suo e *.log, basta eseguire

git rm --cached *.suo *.log

e git si occupa di trovare tutti i file del repository che corrisponde a quello della firma, non importa dove nella struttura sono.

Ho cercato diversi modi per ottenere questo al lavoro ed è stato, infine, piuttosto semplice:

È necessario impegnarsi il .gitignore prima!

Inoltre, se si utilizza TortoiseGit -. Gitex commit Tool, v'è la possibilità di modificare i file ignorati

Si stanno individuando nel modo giusto. .gitignore dovrebbe essere nella stessa cartella, in cui si trova la cartella .git. File interno sembra anche corretto. Tuttavia, non ho una riga di commento nella parte superiore ..

Quando guardo questo, penserei ti sei dimenticato di commettere il file ignorare.

Nessuno dei --rm soluzioni cache lavorato per me. Il file deve essere codificato come ASCII / ANSI. Ho cambiato la fine riga pure, ma questo da solo non ha risolto il problema. Non riesco a trovare l'url che ha avuto queste istruzioni (mi dispiace, manifesto originale!), Ma questo ha funzionato per me:

  1. Installa Notepad ++ se non lo avete già. Textpad dovrebbe anche funzionare, ma io uso Notepad ++.
  2. Aprire il .gitignore con Notepad ++.
  3. Fare clic su Visualizza | Mostra Simbolo | Mostra tutti i caratteri. Probabilmente vedrete CR LF alla fine di ogni riga.
  4. Fare una ricerca e sostituzione (Ctrl + H), facendo in modo che si estendeva sia selezionata (angolo in basso a mano let). Ricerca di \ r \ n e sostituirlo con \ n. Vedrete tutti i cambiamenti LF CR a solo LF.
  5. Ora cliccate su Codifica | Codifica in ANSI.
  6. Salvare il file e uscire.

Dal prompt dei comandi di Windows o dal prompt dei comandi git, se ti piace, quando lo fate git status non dovrebbe mostrare i file in .gitignore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top