{"id":12571,"date":"2017-07-10T12:17:12","date_gmt":"2017-07-10T10:17:12","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12571"},"modified":"2017-07-10T12:17:12","modified_gmt":"2017-07-10T10:17:12","slug":"git-come-condividere-progetti-su-github","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/git-come-condividere-progetti-su-github\/","title":{"rendered":"Git: come condividere progetti su GitHub"},"content":{"rendered":"<p>Sinora abbiamo conosciuto <em>git<\/em> come ottimo strumento di controllo della versione per i nostri progetti, ma\u00a0le sue potenzialit\u00e0 permettono di\u00a0condividere lavori tramite piattaforme remote tra cui la pi\u00f9 famosa \u00e8 in assoluto <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>.<\/p>\n<p>Per la condivisione remota, esistono per lo pi\u00f9 due comandi: <strong>remote<\/strong> e <strong>push<\/strong>. Il primo serve a\u00a0stabilire un rapporto tra il repository locale ed uno o pi\u00f9 destinazioni in Rete mentre il secondo attua il vero e proprio aggiornamento di informazioni ed oggetti.<\/p>\n<p>Supponiamo di avere a disposizione un progetto gestito con <em>git<\/em>: abbiamo eseguito gi\u00e0 il <em>commit<\/em> ed ora vogliamo condividerlo su GitHub.<\/p>\n<p>Prima cosa, ci servono delle <strong>credenziali di accesso<\/strong> alla piattaforma. Se non ne disponiamo possiamo procurarcele con la procedura di <a href=\"https:\/\/github.com\/join?source=header\" target=\"_blank\" rel=\"noopener\">Sign Up<\/a>. Eseguito il login con successo, dalla nostra homepage, tramite il pulsante &#8220;Start a project&#8221; creiamo un <strong>nuovo repository<\/strong>\u00a0che dovremmo gi\u00e0 configurare con:<\/p>\n<ul>\n<li>una\u00a0descrizione testuale;<\/li>\n<li>un\u00a0livello \u00a0di accessibilit\u00e0: pubblica (chiunque pu\u00f2 accedervi ma solo chi vogliamo noi pu\u00f2 effettuare commit) o privata (solo chi esplicitamente indicato pu\u00f2 visualizzare il progetto o effettuare commit);<\/li>\n<li>un file README;<\/li>\n<li>un file .gitignore che descriva quali contenuti non devono arrivare al repository (ne abbiamo gi\u00e0 parlato su questo sito);<\/li>\n<li>un file contente la licenza di accesso.<\/li>\n<\/ul>\n<p>Il repository creato avr\u00e0 un suo riferimento univoco di forma\u00a0<strong>https:\/\/github.com\/<em>nome_utente<\/em>\/<em>nome_repository<\/em>.git.\u00a0<\/strong>Supponendo che il nostro utente si chiami <em>myuser<\/em> ed il repository <em>firstrepo<\/em> avremo un riferimento del tipo <em>https:\/\/github.com\/myuser\/firstrepo.git<\/em> ed i comandi per l&#8217;upload su GitHub sarebbero i seguenti:<\/p>\n<pre class=\"lang:sh decode:true \">&gt; git remote add origin https:\/\/github.com\/myuser\/firstrepo.git\r\n&gt; git push -u origin master<\/pre>\n<p>Tramite il riferimento al repository (nell&#8217;esempio abbiamo usato\u00a0https:\/\/github.com\/myuser\/firstrepo.git) si pu\u00f2 richiedere una copia locale del progetto con il comando <em>clone<\/em>:<\/p>\n<pre class=\"lang:sh decode:true\">&gt; git clone https:\/\/github.com\/myuser\/firstrepo.git<\/pre>\n<p>Facendo cos\u00ec, potremo avere il progetto gestito con un repository locale e caricato on line su GitHub, il tutto usando poche direttive da riga di comando.<\/p>\n<p>Se git ha fornito una grande opportunit\u00e0 di lavorare in maniera pratica, organizzata e produttiva, GitHub ha conferito al tutto\u00a0un tono social offrendo la possibilit\u00e0 di condividere, collaborare e crescere.<\/p>\n<p>Vi aspettiamo nei commenti e vi diamo appuntamento al prossimo post con tante nuove idee!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sinora abbiamo conosciuto git come ottimo strumento di controllo della versione per i nostri progetti, ma\u00a0le sue&#8230;<\/p>\n","protected":false},"author":561,"featured_media":12860,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[30,481],"tags":[1728,562,1723,1395],"class_list":["post-12571","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-materiale-open-source","category-risorse-utili","tag-git","tag-github","tag-version-control-system","tag-versioning"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12571"}],"version-history":[{"count":5,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12571\/revisions"}],"predecessor-version":[{"id":13157,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12571\/revisions\/13157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/12860"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}