Scrivi le tue storie con git

Ciao a tutti 🙂 Prima di continuare con i testi della lista degli ordini, voglio festeggiare il rilascio di git 2.16 ringraziando ciascuno di coloro che hanno inviato una patch e ciascuno degli utenti, in totale abbiamo avuto circa 4000 righe tra aggiornamenti e correzioni, che non parla molto bene della mia prima versione, ma parla della tua gentilezza 🙂 Grazie! Ora, ti svelo un piccolo segreto, fino ad ora non c'è stato un tempo in cui non mi sono seduto per scrivere un articolo e ci ho pensato molto, di solito scrivo solo di fila, e poi la lucertola buona prende la gentilezza di correggere i miei errori di battitura 🙂 quindi grazie anche a lui.

Questo non è il massimo quando parliamo di scrivere articoli, presumibilmente dovrebbe avere un obiettivo e costruire una struttura, e contrassegnare piccoli punti e recensioni, ecc ecc ... Ora, questo non si applica solo ai blog in generale, ma è essenziale in un software che finge di essere buono 🙂 Per questo compito, e dopo alcuni problemi con il software di controllo della versione che è stato utilizzato nello sviluppo del kernel qualche anno fa, è nato git 🙂

Dove imparare git?

La quantità di documentazione su git è sbalorditiva, anche se prendessimo solo le pagine man fornite con l'installazione, avremmo un'enorme quantità di letture. Personalmente trovo il file git book progettato abbastanza bene, anche io ho tradotto alcuni dei segmenti della sezione 7, me ne mancano ancora alcuni, ma dammi tempo 😛 forse in questo mese posso tradurre ciò che è rimasto di quella sezione.

Cosa fa git?

Git è progettato per essere veloce, efficiente, semplice e per supportare grandi carichi di informazioni, dopotutto, la comunità del kernel lo ha creato per il proprio software, che è una delle più grandi opere congiunte di software libero al mondo e ha centinaia di contributi per ora in una base di codice che supera un milione di righe.

La cosa interessante di git è il suo modo di mantenere le versioni dei dati. In precedenza (altri programmi di controllo della versione) prendevano le compresse di tutti i file esistenti in un momento storico, come creare un file di riserva. Git adotta un approccio diverso quando esegue un file commit viene segnato un punto nella storia, quel punto nella storia ha una serie di modifiche e funziona, alla fine della giornata, tutte le modifiche vengono messe insieme nel tempo e si ottengono i file per poterli comprimere o contrassegnare come pietre miliari delle versioni . Dato che so che tutto questo sembra complicato, ti porterò in un viaggio magico in un esempio estremamente semplice.

Piccolo progetto di calcolo

La calcolatrice sarà un programma che troverà i quadrati di un dato numero, lo faremo in C e sarà il più semplice possibile, quindi non aspettatevi molti controlli di sicurezza da me. Per prima cosa creeremo un repository, lo farò con Github per uccidere due piccioni con una fava:

Proprio. Christopher Diaz Riveros

Abbiamo aggiunto un paio di cose abbastanza semplici come la licenza (molto importante se vuoi proteggere il tuo lavoro, nel mio caso costringerli a condividere i risultati se vogliono usarlo come base: P)

Ora andiamo al nostro caro terminale, git clone è il comando responsabile del download del repository situato nel file url assegnato e creare una copia locale sul nostro computer.

Proprio. Christopher Diaz Riveros

Ora controlliamo con git log cosa è successo nella storia del nostro progetto:

Qui abbiamo molte informazioni in diversi colori 🙂 proviamo a spiegarle:

la prima linea gialla è il "codice a barre del commit", ogni commit ha il suo identificatore univoco, con il quale puoi fare molte cose, ma lo salveremo per dopo. Ora abbiamo HEAD di celeste e master verde. Questi sono "puntatori" la loro funzione è di puntare alla posizione corrente della nostra storia (HEAD) e il ramo su cui stiamo lavorando sul nostro computer (master).

origin/master è la controparte di Internet, origin è il nome predefinito che è stato assegnato al nostro URL e master è il ramo in cui stai lavorando ... per mantenerlo semplice, chi ha un / sono quelli che non sono nel nostro team, ma sono riferimenti a ciò che è su Internet.

Quindi abbiamo l'autore, la data e l'ora e il riepilogo del commit. Questa è una piccola rassegna di quello che è successo in quel punto della storia, molto importante in molti progetti e ci sono molte informazioni condannate. Diamo uno sguardo più da vicino a cosa è successo nel commit con il comando git show <código-de-commit>

Proprio. Christopher Diaz Riveros

Il comando git show ci porta in questa schermata in formato patch, dove puoi vedere cosa è stato aggiunto e cosa è stato rimosso (se qualcosa fosse stato rimosso) in quel momento nella storia, finora ci mostra solo che i record .gitignore,README.mdLICENSE.

Ora veniamo al punto, scriviamo un file 🙂 creeremo la prima pietra miliare nella nostra storia 😀:

Proprio. Christopher Diaz Riveros

In breve, creeremo un programma che ci mostri il numero di argomenti passati durante l'esecuzione, semplice 🙂

Proprio. Christopher Diaz Riveros

È stato facile 🙂 ora vediamo il seguente utile comando: git status

Proprio. Christopher Diaz Riveros

Qualche anima gentile ha tradotto git per renderlo facile da seguire, qui abbiamo molte informazioni utili, sappiamo che siamo nel ramo principale, che siamo aggiornati con origin/master(il ramo Github), abbiamo file non tracciati! e che per aggiungerli dobbiamo usare git add, proviamo 🙂

Proprio. Christopher Diaz Riveros

Ora abbiamo un nuovo spazio verde, in cui viene visualizzato il file che abbiamo aggiunto all'area di lavoro. In questo luogo possiamo raggruppare le nostre modifiche per fare un commit, il commit consiste in una pietra miliare nella storia del nostro progetto, creeremo il commit 🙂 git commit

Proprio. Christopher Diaz Riveros

Spiegato brevemente, la linea gialla è il titolo del nostro commit, scrivo main.c per mero riferimento visivo. Il testo nero è la spiegazione delle modifiche apportate dal commit precedente fino ad ora 🙂 salviamo il file e vedremo il nostro commit salvato nel registro.

Proprio. Christopher Diaz Riveros

Ora vedremo la storia del nostro progetto con git log

Proprio. Christopher Diaz Riveros

Di nuovo nel registro, ora possiamo vedere che le linee verdi e rosse sono diverse, questo perché nel nostro computer siamo un commit sopra quelli memorizzati in Internet 🙂 continueremo il lavoro, supponiamo che ora lo voglia mostra un messaggio nel caso in cui l'utente inserisca più di un argomento nel programma (il che renderebbe confusa la calcolatrice 🙂)

Come possiamo vedere, il nostro programma è cresciuto molto 😀, ora abbiamo la funzione imprimir_ayuda() che visualizza un messaggio su come utilizzare i calcoli e nel blocco main() ora facciamo una revisione con if(Qualcosa che vedremo in un tutorial di programmazione in un altro momento, per ora è solo necessario sapere che se vengono inseriti più di 2 argomenti nella calcolatrice, il programma termina e viene visualizzato l'aiuto. Eseguiamolo:

Proprio. Christopher Diaz Riveros

Come puoi vedere ora stampa il numero che è stato consegnato invece del numero di argomenti, ma che non ti avevo detto prima 🙂 per i curiosi echo $? mostra il codice di uscita dell'ultimo programma eseguito, che è 1 perché è terminato per errore. Ora esaminiamo come va la nostra storia:

Proprio. Christopher Diaz Riveros

Ora sappiamo che siamo 1 commit avanti a Github, che il file main.c è stato modificato, creiamo il prossimo commit facendo git add main.c  poi git commit🙂

Proprio. Christopher Diaz Riveros

Ora siamo stati un po 'più specifici, poiché abbiamo implementato una funzione e modificato il codice di convalida. Ora che è stato salvato, esamineremo la nostra ultima modifica. Possiamo vederlo con git show HEAD

Proprio. Christopher Diaz Riveros

Ora puoi vedere le linee rosse e verdi, abbiamo aggiunto la libreria stdlib.h, modificato gran parte del codice e aggiunto la funzione alla nostra storia.

Ora vedremo il registro: (git log)

Proprio. Christopher Diaz Riveros

Possiamo vedere che siamo due commit in anticipo rispetto alla versione Github, equalizzeremo un po 'il marker 🙂 per quello che usiamo git push origin master

Con questo diciamo, invia i miei commit all'URL origin sul ramo master

Proprio. Christopher Diaz Riveros

Congratulazioni! Ora le tue modifiche sono su Github, non mi credi? rivediamolo 😉

Proprio. Christopher Diaz Riveros

Ora abbiamo i 3 commit su Github 🙂

Riassunto

Abbiamo toccato gli aspetti più basilari di git, ora possono creare un semplice flusso di lavoro nei loro progetti, questo non è quasi nulla di tutta l'ampia varietà di cose che possono essere fatte con git, ma è sicuramente la cosa più pratica e quotidiana per uno sviluppatore o un blogger. Non abbiamo raggiunto la fine del calcolatore, ma lo lasceremo per un'altra volta 😉 Grazie mille per essere arrivato qui e spero che ti aiuti a partecipare a diversi progetti 😀 Saluti


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Pablo suddetto

    Ciao ... non so se lo sei, ma non riesco a vedere le immagini in questo report ...

    saluti

  2.   Pablo suddetto

    È stato un problema con il mio browser. Ci dispiace per l'inconvenienza.

  3.   Mondo Tecprog suddetto

    Devo ancora leggerlo più in dettaglio, sono un novellino.

  4.   fattura suddetto

    Ottimo articolo per iniziare con git, anche se consiglio di prendere appunti per capire i dettagli.
    Un paio di cose non mi sono state chiare:
    a cosa serve l'opzione Aggiungi .gitignore Canche se credo che lo vedrò quando lo praticherò,
    perché git add main.c deve essere fatto di nuovo prima del prossimo commit git, add main.c dice a git di confrontare quel file con la versione di rete? Non confronta automaticamente tutti i file aggiunti per il monitoraggio?

    1.    Chris ADR suddetto

      Ciao Guillermo 🙂 è bene che tu l'abbia trovato utile, per rispondere alle tue domande:

      .gitignore è un file che dice a git quali formati o pattern ignorare, in questo caso la selezione di C fa sì che i file .o vengano ignorati e altri che vengono generati al momento della compilazione, il che è positivo perché altrimenti il ​​tuo git impazzirebbe istantaneamente ad ogni compilation e follow-up 🙂 puoi controllare il gran numero di formati che git omette nel suo modello C facendo cat o con un editor di testo.

      Sebbene git terrà traccia di ogni file aggiunto all'albero di lavoro, è necessario selezionare specificamente quali file entreranno nel commit successivo, per darti un esempio, supponiamo che il tuo lavoro ti abbia portato a modificare 5 file diversi prima di poter per vedere il risultato. Se vuoi essere un po 'più specifico e spiegare cosa viene fatto in ognuno di essi, puoi fare git add file1; git commit; git add file2; git commit… .3,4,5; git commit. In questo modo la tua storia è pulita e i cambiamenti ben definiti. E nel caso in cui tu debba cambiare qualcosa, o ripristinare (argomenti più avanzati) potresti ripristinare cose specifiche o aggiungere cose specifiche senza cambiare il resto.

      Spero che aiuti 🙂 saluti e grazie per aver chiesto

    2.    Chris ADR suddetto

      PS: git add non dice di confrontare con la versione in rete, ma con il commit precedente nella tua linea di lavoro, se è stato locale (verde) lo confronterà con quello, se è stato remoto (rosso ) si confronterà con quell'altro. Giusto per chiarire 😉

      1.    fattura suddetto

        Perfetto, ovviamente chiarisce.