Introduzione al controllo della versione con Git

Il software sta mangiando il mondo in ogni senso possibile. Con l'avanzare della tecnologia e l'avanzamento lento nel mondo controllato dall'IA, i posti di lavoro nel settore tecnologico vedranno un picco. Scrivere software è un'abilità che può essere autodidatta ed è anche abbastanza facile almeno nel mondo di oggi con Internet letteralmente traboccante di risorse più o meno le stesse. Ma come sviluppatore di software, scrivere codice non è tutto ciò che ci si aspetterebbe da te. Devi imparare la sottile arte della gestione della base di codice della tua azienda mentre si ridimensiona e introducono più funzionalità. Le persone che hanno scritto software in precedenza sanno che mantenere la base di codice è importante quanto scrivere codice performante e pronto per la produzione.

Controllo di Versione

La domanda ovvia che potrebbe esserti venuta in mente dopo aver letto l'introduzione sarebbe: come si gestisce la propria base di codice? La risposta oggi sarebbe quella dei sistemi di controllo della versione. Controllo della versione o VCS poiché è comunemente noto come un sistema software che gestisce e tiene traccia delle modifiche a un particolare file o a un insieme di file e ti consente di tornare facilmente indietro nel tempo per annullare eventuali modifiche non necessarie che potresti aver apportato.

Come principiante, imparare a programmare potrebbe già sembrarti piuttosto opprimente e oltre a ciò aggiungendo la responsabilità di gestire il codice da solo, sembra sicuramente un compito mastodontico ora, vero? Beh, non devi preoccuparti. In questo articolo, ti guiderò attraverso una procedura passo passo per gestire la tua base di codice sotto un sistema di controllo della versione e allo stesso tempo ti spiego un po' perché è un'abilità importante da imparare.

Nella comunità degli sviluppatori, Git è il VCS più popolare disponibile, quindi baseremo questo articolo su Git. Insieme a Git, vorrei anche darti una breve introduzione a GitHub che è un servizio di hosting di repository di controllo della versione.

Linus Torvalds, il padre del Kernel Linux, durante lo sviluppo dello stesso si è imbattuto in una situazione in cui non poteva più gestire correttamente il codice che stava scrivendo nel momento in cui utilizzava BitKeeper. Quindi ha preso una piccola deviazione per sviluppare Git e lo ha reso pubblico nell'anno 2005. Il design di Git era strettamente basato su BitKeeper. Il nome "git" è stato dato da Linus Torvalds quando ha scritto la primissima versione. Ha descritto lo strumento come "lo stupido localizzatore di contenuti".

Perché ogni sviluppatore deve imparare a usare VCS?

I sistemi software tradizionali comprendono diversi file, sparsi in molte directory e in una tipica azienda ci sono più sviluppatori che scrivono le modifiche allo stack software contemporaneamente. Diventa estremamente importante per tutti gli sviluppatori rimanere il più produttivi possibile, ma allo stesso tempo è altrettanto importante mantenere l'intero team sulla stessa pagina. Ciò significa che ogni persona del team deve sapere esattamente quali funzionalità vengono sviluppate. Un'altra cosa importante da tenere a mente durante lo sviluppo del software è il fatto che il lavoro di una persona non dovrebbe influenzare il lavoro di nessun'altra persona nello stesso team. In parole povere, quello che intendo è che se tu come sviluppatore stai lavorando su una funzionalità, non dovrebbe ostacolare il flusso di lavoro di nessuno dei tuoi compagni di squadra mentre scrivi le modifiche alla base di codice. Tutti questi casi sono gestiti in modo molto elegante con VCS. Non solo semplifica la vita degli sviluppatori tenendo traccia delle modifiche apportate da ogni individuo del team, ma mantiene anche una cronologia delle versioni in un formato semplice in modo che eventuali modifiche accidentali alla base di codice possano essere facilmente evitate.

Ci sono molti sistemi di controllo della versione disponibili sul mercato come Subversion, Mercurial ecc., ma il motivo per cui ci stiamo concentrando su Git è che è di gran lunga l'opzione più popolare disponibile.

Impostare

La configurazione di git è diversa a seconda del sistema operativo in cui ti trovi. Ti guiderò attraverso il processo di installazione su macOS, Linux e Windows.

macOS

Installare Git è abbastanza semplice su Mac, prima assicurati di aver installato brew, il popolare gestore di pacchetti per Mac. Una volta che l'infuso è impostato (che onestamente richiede solo pochi istanti a seconda della velocità di Internet) devi solo dare il seguente comando:

  • brew installa git

Linux

Anche il processo di installazione su Linux è abbastanza simile a macOS. Apri il terminale e dai il seguente comando:

  • sudo apt-get install git

Windows

Il processo di installazione su Windows è leggermente diverso. Su Windows, è necessario scaricare un programma di installazione. Vai a questo link per scaricare l'ultimo programma di installazione e quindi eseguire il programma di installazione per installare git sul tuo computer Windows.

Iniziamo

Ora che hai la configurazione del tuo sistema. Devi inizializzare un repository git. Che cos'è un repository chiedi? È la cartella/directory in cui sono archiviati tutti i file del tuo progetto. Ecco i passaggi per inizializzare un repository git.

  • Avvia il Terminale/Prompt dei comandi sulla tua macchina.
  • Passare alla directory del progetto che contiene tutti i file di progetto. (Questo di solito viene fatto usando il comando cd su tutte le piattaforme)
  • ora che sei all'interno della directory del tuo progetto, esegui il seguente comando: git init

GitInit

Ora che hai inizializzato il tuo repository git, git sa che deve tenere traccia delle modifiche su tutti i file nella directory. Git ora saprà ogni volta che aggiungi o rimuovi file nella directory del progetto o apporti modifiche.

Apportare modifiche ed emettere il tuo primo impegno

La parte più importante di qualsiasi VCS è il rilevamento delle modifiche. Ogni volta che si emette una modifica nella directory del progetto, questa si rifletterà nello stato del repository. Vai avanti e aggiungi un file alla directory o apporta una modifica a un file esistente. Dopo averlo fatto, non puoi emettere il seguente comando per controllare lo stato del file nel repository.

  • stato git

Git Satus

Come puoi vedere, git dice che c'è un file non tracciato. Ora dobbiamo aggiungere il file non tracciato all'area di staging di git. Puoi pensare all'area di staging come alla fase intermedia prima che un cambiamento sia finalizzato. Per aggiungere il file all'area di staging emettere il seguente comando:

  • git aggiungi

Emettendo il comando git add puoi emettere nuovamente un comando di stato per vedere lo stato del file.

Ora che il file è stato aggiunto all'area di staging, è il momento di finalizzare la modifica con un messaggio di commit. Emettere il seguente comando:

  • git commit – m "IL TUO_MESSAGGIO"

Sostituisci la parte sotto le virgolette con il tuo messaggio personalizzato. Ora controlla il tuo repository con uno stato git. Noterai che il commit è andato a buon fine.

Git Impegnati

ramificazione

La ramificazione è un argomento chiave nel sistema di controllo della versione. È molto importante separare le parti stabili (cose che funzionano perfettamente e sono state testate) del progetto dalle parti attualmente in fase di sviluppo. È importante perché devi assicurarti che le persone che utilizzano il tuo software non siano interessate dalle modifiche apportate durante l'aggiunta di una nuova funzionalità. È qui che mi viene in mente la ramificazione. Aiuta a separare la tua base di codice in diverse sandbox in modo che le tue parti di lavoro non siano interessate da eventuali modifiche apportate alle altre parti.

Creare un ramo usando Git è abbastanza semplice. Basta emettere il seguente comandante

  • git checkout -b "BRANCH_NAME"

Dopo averlo fatto puoi controllare su quale ramo ti trovi eseguendo il seguente comando:

  • ramo git

ramo git

Condivisione del tuo codice su GitHub

Hai imparato con successo i fondamenti del controllo della versione usando git. Ora è il momento di rendere pubblico il tuo progetto condividendolo con la community di sviluppatori. Questo è il primo passo verso lo sviluppo di software open source. Open sourcing il tuo codice significa contrassegnarlo come pubblico in modo che altri possano vederlo, contribuire al suo sviluppo e, se necessario, adattarlo ai propri progetti.

github

 

Assicurati di avere un account GitHub prima di procedere.

Una volta che ti sei registrato. Vai avanti e crea un repository su GitHub come mostrato nello screenshot qui sotto.

Aggiungi GitHub

 

Una volta creato il repository. Ti verranno mostrati ulteriori passaggi per guidarti nel portare il tuo progetto su GitHub.

Istruzioni GitHub

Dal momento che hai già creato un repository. Devi solo spingerlo. Emettere il seguente comando per farlo.

  • git remote aggiungi origine REMOTE_URLgit push -u origin master

Una volta fatto, puoi visitare l'URL remoto per controllare i tuoi progetti. Altri nella comunità possono contribuire ai tuoi progetti pubblicando modifiche.

Conclusione

Congratulazioni. Ora sei un passo più vicino alla creazione della prossima grande cosa della tecnologia. E sono sicuro che nel farlo applicherai anche i pratici concetti di controllo della versione che questo articolo ti ha insegnato. Grandi aziende come IBM, Google ecc. hanno enormi portafogli di servizi che continuano a evolvere costantemente con tecnologie e funzionalità all'avanguardia e l'unico modo in cui sono in grado di gestire una suite di prodotti così ampia, ciascuna scalabile a diversi milioni di righe di codice è attraverso il controllo delle versioni sistemi. Le stesse aziende hanno la loro soluzione interna per VCS o si affidano ai popolari VCS come Git o Subversion. La maggior parte dei progetti teorici open source sono disponibili pubblicamente su GitHub. È sicuramente un'abilità importante da padroneggiare e sapere come gestire grandi basi di codice cambierà efficacemente il tuo modo di lavorare e aumenterà anche la tua credibilità.

Aishwar Babber

Aishwar Babber è un blogger appassionato e un marketer digitale. Ama parlare e bloggare sulle ultime tecnologie e gadget, il che lo motiva a correre GizmoBase. Attualmente sta esercitando la sua esperienza di marketing digitale, SEO e SMO come marketer a tempo pieno su vari progetti. È un investitore attivo in AffiliatoBay e un regista in ImageStation.

Lascia un tuo commento