290 messaggi dal 08 luglio 2008
Ciao a tutti,

per caso sapete se c'è un bug su VS2015 update 1 con il file di git .ignore per evitare il controllo del codice sorgente di alcuni file?

Faccio un esempio, nel file .gitignore ho questa regola:

[Bb]in/
[Oo]bj/

quindi dovrebbe evitare di committare i file nelle cartelle Bin e Obj. Cosa che a volte fa, e a volte no.

Quindi in maniera del tutto casuale mi ritrovo nei file da committare anche le dll dentro le cartelle bin e obj.

Anche a voi risulta questo problema?

grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
può darsi che tu abbia aggiunto il file .gitignore in un secondo momento, quando ormai alcune dll erano già state aggiunte al repository.

Se è questo il caso, non si tratta di un bug ma di una funzionalità documentata di git.
Dalla guida sui file ignorati si legge:

If you already have a file checked in, and you want to ignore it, Git will not ignore the file if you add a rule later. In those cases, you must untrack the file first, by running the following command in your terminal:
git rm --cached FILENAME


Ecco altre considerazioni sull'argomento:
http://stackoverflow.com/questions/1274057/how-to-make-git-forget-about-a-file-that-was-tracked-but-is-now-in-gitignore

ciao,
Moreno

Enjoy learning and just keep making
290 messaggi dal 08 luglio 2008
ciao grazie per la risposta,

ma avendo moltissime dll già registrate, e che vorrei ignorare, c'è un comando che lavora sulla cartella e non sul singolo file?

git rm --cached FILENAME qualcosa di simile ma per directory.

In questo modo escluderei subito la cartella bin e obj del progetto .net

:)
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


ma avendo moltissime dll già registrate, e che vorrei ignorare, c'è un comando che lavora sulla cartella e non sul singolo file?

Sì, esiste. Lo trovi documentato qui:
https://git-scm.com/docs/git-rm

Il comando git rm prevede una flag -r che eliminerà ricorsivamente tutti i file trovati nella cartella indicata.
Quindi da riga di comando posizionati nella directory che contiene bin e digita:
git rm --cached -r bin


Anche se non ci fosse stata questa possibilità avresti potuto farlo in questo modo. Ti crei un file batch contenente tutti i percorsi dei file esistenti nella cartella.
dir /s/b .\bin\* > script.bat

Poi modifichi il file con Notepad++ e usi le espressioni regolari (o con Excel se vuoi usare le formule) per anteporre git rm --cached ad ogni riga. Risalvi ed esegui il file batch da riga di comando.

ciao,
Moreno
Modificato da BrightSoul il 21 dicembre 2016 18.21 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.