2015-06-16 27 views
14

Questo ha bloccato diversi membri del team su Windows, con Git in esecuzione. Abbiamo provato tutti i tipi di voci esplicite e jolly in .gitignore tuttavia gli elementi nella cartella .vs/nascosta come parte di Visual Studio 2015 RC continuano a essere commessi. Dal momento che si tratta di impostazioni individuali per gli sviluppatori, sono ovviamente sempre diverse e si presentano in un git diff. Ci sono degli hacker là fuori per ignorare tutto nella cartella di primo livello .vs/nel repository?Gitignore non ignorerà la cartella .vs per Visual Studio 2015 RC su Windows7/8

+1

Puoi mostrare il file '.gitignore' dal tuo progetto? – nwinkler

risposta

23

Se vengono visualizzati in un git diff, i file vengono già tracciati, mentre .gitignore ha effetto solo sui file non tracciati. Sarà necessario rimuovere i file dal controllo del codice sorgente con git rm --cached e quindi. Gitignore li influenzerà.

Si noti che quando si esegue questa operazione, gli altri sviluppatori avranno i propri file eliminati localmente quando eseguono il successivo git pull. Quindi, prima di farlo, potrebbero voler fare un backup di quei file.

1

Mi sono imbattuto in questo problema prima di commettere qualcosa nel mio repository. Ho erroneamente pensato che il solo fatto di avere il file .gitignore nella directory avrebbe impedito a VS di riconoscere i file come "Modifiche". Devi prima eseguire il commit del file .gitignore prima che git inizi a ignorare i file specificati al suo interno.

4

Nel nostro caso, la directory .vs è stata aggiunta al controllo del codice sorgente quando ho inizializzato il repository. Così, la linea in .gitignore:

/.vs 

non ha fatto nulla fino a quando ho cancellato la directory e controllato nei cambiamenti (simile a quello che sta dicendo TPoschel sopra, ma con la differenza che il check-in directory eliminato è quello risolto, come avevo già controllato nel file .gitignore).

0

Di solito aggiungo .vs all'avvio, quando il repository è pulito. ma posso confermare obbedisce git per:

.VS

in .gitignore.

E come altri dice, rimuovere localmente e quindi commit/push.