Giter VIP home page Giter VIP logo

come-usare-github's Introduction

Twitter Follow

Come (e perché!) usare GitHub anche se non sei un programmatore.

Nuovo su GitHub? Anche io 😉 Bene, ecco perché questo social network può essere una svolta (per lo meno per me lo è!).

PS: i puristi di GitHub o comunque chi lo usa per professione, proabilmente innoridiranno: chiedo loro scusa anticipatamente per le imprecisioni e le semplificazioni, ma l'obiettivo è quello di spiegarlo ai "non addetti ai lavori". E comunque, per le modifiche, sono ben accette Issue e Pull request :simple_smile:

Cos'è GitHub?

E' un Social Network. Come Facebook. Instagram. LinkedIn. Tik Tok. E come tutti i social network che si rispettano ha una sua caratteristica distintiva. GitHub si basa sul controllo di versione. Che roba è?

Hai presente quando prepari un preventivo per un cliente? Oppure stai scrivendo una relazione o un documento da presentare? Bene. Lo salvi sul tuo PC, con il nome documento.doc ad esempio. Poi lo modifichi. E lo risalvi. documento1.doc perché vuoi tenere l'altra versione. Poi senti il cliente, lo modifichi e lo risalvi. documento-finale.doc. Ti chiama il collega, una bella notizia. Aspetta che modifico l'offerta. documento-finale-def.doc

Tutte le versioni dei file che vengono prodotte sono poi di difficile gestione. Ecco, Git è un software che permette di tenere traccia di tutte le versioni dei file e delle relative modifiche. Su questo software nasche GitHub, un vero e proprio social network che permette in sostanza agli utenti di condividere file (programmi o anche semplice testo) tenendo traccia delle versioni.

Diventa quindi un ottimo strumento per chi sviluppa software ma anche per chi vuole condividere un documento di testo: pensate ad esempio se voleste scrivere un ebook cercando la collaborazione di altre persone. GitHub fa al caso vostro, ed al mio.

Primi passi su GitHub: come iniziare?

Esattamente come fai con gli altri social network. Iscriviti, crea un profilo, scegli una username, una foto, inserisci descrizione e contatti. Nulla di nuovo. Puoi poi iniziare a cercare qualcosa, esattamente come fai con gli altri social network.

Come dicevo prima, non aspettarti che qualcuno condivida le foto delle proprie vacanze o dell'ultimo party con gli amici: su GitHub si condividono progetti, documenti, soprattutto "codice" e software (nel senso appunto del codice sorgente).

Gli elementi principali di GitHub

Sostanzialmente sono 3 gli elementi principali di GitHub:

  • I Repository sono un contenitore, all'interno del quale poter creare file, documenti, cartelle, sottocartelle, etc. Quello che state leggendo, ad esempio, non è altro che un file (di nome README) all'interno derl repository come-usare-github
  • Issue: questo è uno degli aspetti principali della collaborazione su GitHub: in questa sezione l'autore del documento può inserire dei "commenti" relativi ai vari step del progetto (repository), oppure gli altri utenti possono suggerire delle modifiche Vuoi suggerire qualcosa? Clicca su Issue scrivi un titolo e lascia un commento. Il gioco è fatto :-)
  • I Branch e le Pull Request Qui la cosa cosa è leggermente più complicata ma non troppo. Poniamo che tu voglia suggerimi una modifica a questo testo. I Branch puoi paragonarli alle "versioni dei file". Di conseguenza, per suggerire una modifica, devi prima creare un nuovo Branch, ovvero una copia del documento, sulla quale effettuare le tue modifiche (questo indipendendemente che si tratti di codice software o un testo come questo o un ebook di ricette di cucina!). In questo modo potrai modificare a piacere un file per sottoporlo all'autore tramite una Pull Request: in questo modo chi ha creato il file (ovvero il Branch "master") potrà vedere le modifiche proposte, confrontare i due "file" (ovvero i due Branch) e decidere se accettarle o meno, creado così un nuovo file "master".

Se ci pensiamo bene, un sistema come questo è veramente potente sotto il profilo della collaborazione perché permette di creare documenti (o software...) a più mani e allo stesso tempo di tenere traccia di tutto.

Gli "amici" su GitHub

Come tutti i social network che si rispettino, anche su GitHub puoi "seguire" gli utenti. Basta cliccare il tasto Follow e gli aggiornamenti relativi alle attività di quell'utente ti compariranno nella tua "home page" o "timeline" per dirla alla Facebook Un altra azione importante è la star che puoi applicare sui vari Repository: in sostanza una volta che ha posto una star su un repository, lo ritroverai tra i "preferiti" sul tuo profilo, per poterlo così raggiungere più facilmente.

Per rimanere aggiornati sugli sviluppi di un Repositori, c'è anche l'opzione Watch che in pratica attiva le novifiche.

fai una prova: in alto a destra, prova a selezionare watch o star per rimanere aggiornato su questo Repository!

Cos'è il Fork??

Semplificando al massimo la questione, quando un utente effettua un Fork di un Repository lo copia sul proprio profilo per poi modificarlo. Per quale motivo? Beh, possono essere molteplici. Poniamo che vogliate creare una "Guida per GitHub" e vi piace questo documento che ho readatto, ma vogliare aggiungere e modificarne alcune parti.

Una delle possibilità è "copiare" questo documento (Repository) con un Fork sul vostro profilo per poi aggiungere quello che volete. In questo modo, il mio documento rimane intatto e le vostre aggiunte/modifiche saranno visibili ai vostri "follower".

Come scrivere un documento su GitHub?

I progetti più semplici - ma per questo non banali - possono essere formati da un solo documento di testo, come ad esempio questo Repository. Di norma GitHub - una volta che si apre un Repository ci chiede di creare automaticamente il file README.MD (quello che state leggendo) che, per convenzione, non è altro che il primo file che si visualizza quando si accede ad un Repository.

Il file README.MD - come gli altri file di testo - sono in formato Markdown: cosa significa? Nulla di particolarmente insidioso, anzi. E' un formato di testo "semplificato" che permette di scrivere utilizzando determinate regole. Ha il vantaggio di essere molto "leggero" e "trasportabile" tra vari sistemi operativi.

Personalmente utilizzare il Markdonw per scrivere un testo è una cosa che adoro perché ti permette di creare testi velocemente, puliti e chiari. Sul mio blog - ad esempio - tutti gli articoli sono scritti in Markdown.

Ed ora?

Se ti sei iscritto ora a GitHub, inizia ad esplorare: usa il campo ricerca per trovare qualcosa che ti interessi, leggi, approfondisci e.... seguimi 😇 Scoprirai che su GitHub puoi trovare non solo programmatori ma anche molti progetti interessanti: dalla fotografia, alla meccanica, passando per la cucina (ci sono ricette da far venire appetito a qualsiasi ora!)

come-usare-github's People

Contributors

marcogovoni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

come-usare-github's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.