{"id":53,"date":"2011-03-27T10:43:00","date_gmt":"2011-03-27T10:43:00","guid":{"rendered":"http:\/\/e-ware.org\/blog\/?p=53"},"modified":"2011-03-27T10:43:00","modified_gmt":"2011-03-27T10:43:00","slug":"git-ignorare-file-dai-commit","status":"publish","type":"post","link":"http:\/\/e-ware.org\/blog\/git-ignorare-file-dai-commit\/","title":{"rendered":"GIT &#8211; Ignorare file dai commit"},"content":{"rendered":"<div><a href=\"http:\/\/4.bp.blogspot.com\/-5zm4bG7dxNA\/TY8UIwgc4RI\/AAAAAAAAA64\/9BZPgtncGII\/s1600\/git-logo.png\" imageanchor=\"1\"><img decoding=\"async\" border=\"0\" src=\"http:\/\/4.bp.blogspot.com\/-5zm4bG7dxNA\/TY8UIwgc4RI\/AAAAAAAAA64\/9BZPgtncGII\/s1600\/git-logo.png\"><\/a><\/div>\n<div><\/div>\n<div>Quando si usa un IDE, come nel mio caso quello di Gambas,\u00a0per sviluppare un software,\u00a0pu\u00f2 accadere di avere a che fare con dei file particolarmente fastidiosi che possono rendere l&#8217;uso di un VCS molto meno pratico del normale. Questi file, nella maggior parte dei casi, sono fondamentali per il corretto funzionamento dell&#8217;ambiente di sviluppo che si sta usando e solitamente essi vengono ricreati automaticamente ogni qual volta proviamo ad eliminarli. Proprio per tale motivo un semplice<\/div>\n<div><\/div>\n<div><i>git rm -f nome_file<\/i><\/div>\n<div><\/div>\n<div>non basta poich\u00e9 alle successive modifiche, e relativo commit, ci si ritrova questi fastidiosi file tra i cambiamenti non tracciati.<\/div>\n<p><a name=\"more\"><\/a><\/p>\n<div>Un&#8217;ottima soluzione \u00e8 quella di utilizzare il file locale <b>exclude<\/b> per indicare la lista di pacchetti da tener fuori dai rilevamenti di git. Il suo uso basilare \u00e8 molto semplice e risulta un ottimo strumento anche per usi pi\u00f9 professionali. Immaginiamo di voler escludere dai nostri commits un file di nome <i>configurazione<\/i>, uno chiamato <i>setting.info<\/i> e tutti i file di testo di backup (ad esempio file tipo main~, info~ o parameter~).<\/div>\n<p><\/p>\n<div><\/div>\n<div>Apriamo un terminale e digitiamo:<\/div>\n<div><\/div>\n<div><i>$ gedit \/home\/<b>NOME_UTENTE<\/b>\/<b>PATH_PROGETTO<\/b>\/.git\/info<\/i><\/div>\n<div><\/div>\n<div>sostituendo a gedit il nostro editor di testo preferito. Ci troveremo davanti ad un file contenente un testo simile al seguente:<\/div>\n<div><\/div>\n<p><\/p>\n<div><i># git ls-files &#8211;others &#8211;exclude-from=.git\/info\/exclude<\/i><\/div>\n<div><i># Lines that start with &#8216;#&#8217; are comments.<\/i><\/div>\n<div><i># For a project mostly in C, the following would be a good set of<\/i><\/div>\n<div><i># exclude patterns (uncomment them if you want to use them):<\/i><\/div>\n<div><i># *.[oa]<\/i><\/div>\n<div><i># *~<\/i><\/div>\n<div><\/div>\n<div>Le suddette righe sono commenti che spiegano brevemente il funzionamento del sistema in esame. Il file \u00e8 molto semplice da gestire poich\u00e9 i file che non vogliamo tracciare vanno inseriti uno per riga in una vera e propria blacklist. La lista dei file va posto esattamente al seguito del testo appena visualizzato. Il file nel caso in esame avr\u00e0 il seguente aspetto:<\/div>\n<div><\/div>\n<p><\/p>\n<div><i># git ls-files &#8211;others &#8211;exclude-from=.git\/info\/exclude<\/i><\/div>\n<div><i># Lines that start with &#8216;#&#8217; are comments.<\/i><\/div>\n<div><i># For a project mostly in C, the following would be a good set of<\/i><\/div>\n<div><i># exclude patterns (uncomment them if you want to use them):<\/i><\/div>\n<div><i># *.[oa]<\/i><\/div>\n<div><i># *~<\/i><\/div>\n<div><i>configurazione<\/i><\/div>\n<div><i>setting.info<\/i><\/div>\n<div><i>*~<\/i><\/div>\n<div><\/div>\n<div>Come possiamo vedere i primi due file sono stati indicati in maniera completa con il nome preciso mentre per quanto riguarda i file di backup \u00e8 stati usato il carattere jolly * che indica un qualsiasi testo seguito dal simbolo che segue questo tipo di file.<\/div>\n<div><\/div>\n<div>Ovviamente il file accetta le regexp in modo da poter gestire facilmente anche progetti con tanti file molto pi\u00f9 complessi da tracciare.<\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Quando si usa un IDE, come nel mio caso quello di Gambas,\u00a0per sviluppare un software,\u00a0pu\u00f2 accadere di avere a che fare con dei file particolarmente fastidiosi che possono rendere l&#8217;uso di un VCS molto meno pratico del normale. Questi file, nella maggior parte dei casi, sono fondamentali per il corretto funzionamento dell&#8217;ambiente di sviluppo che [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,4],"tags":[],"class_list":["post-53","post","type-post","status-publish","format-standard","hentry","category-git","category-opencode"],"views":1642,"_links":{"self":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/posts\/53","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/comments?post=53"}],"version-history":[{"count":0,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/posts\/53\/revisions"}],"wp:attachment":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/media?parent=53"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/categories?post=53"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/tags?post=53"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}