Bene, questo penso che sarà un tutorial abbastanza breve e, si spera, educativo;). Ti metterò a disposizione un piccolo repository sul mio github in modo che tu possa inviare i tuoi PR e allo stesso tempo in modo che tu possa esercitarti su come eseguire tutti i passaggi che lascerò di seguito. Ecco il link per fare il tuo test PR:
https://github.com/CodeLabora/TuPrimerPR
Bene, elenchiamo rapidamente i passaggi necessari per inviare un PR:
- Forcella
- clone
- Assistenza
- Branch di società
- modifiche
- Aggiungi
- Commettere
- Spingi
- PR
Li metto in inglese in modo che trovino le rispettive opzioni sulla riga di comando di git.
Forcella
Un fork è la tua versione di un repository Github. Ciò ti consente di clonare il lavoro di un altro progetto e di averlo nel tuo account in modo da poter cambiare le cose senza preoccuparti di perdere le tue modifiche. Per fare un fork è solo necessario andare nella pagina e cliccare sul pulsante Fork che si trova in alto a destra.
Una volta terminato il fork, vedrai che il repository appare nel tuo account.
clone
Ora che abbiamo un repository, lo cloneremo nel nostro team. (Presumo che le persone che usano Linux mi seguano, ma per gli utenti di altri sistemi ci sono anche versioni di git che puoi scaricare sulla loro pagina ufficiale.
E con il nostro terminale facciamo quanto segue.
Con questo avremo una nuova cartella chiamata TuPrimerPR in cui sarà il nostro progetto Github. Entriamo nella cartella con il comando «cd TuPrimerPR» e vedremo che all'interno ci sono i file che sono nel nostro fork.
(Nota che il numero di file può variare a seconda di ciò che trovano nel mio repository quando eseguono il fork)
Assistenza
Questo è un passaggio opzionale, ma che evita molti problemi quando si lavora continuamente su un progetto. Fork per impostazione predefinita crea una copia esatta del repository, ma nel momento esatto della creazione. Ciò significa che se il progetto continua ad avanzare, il tuo repository rimarrà indietro con il passare dei giorni o delle ore. "Git remote" ci permette di specificare un altro punto di download (il progetto originale) e quindi essere in grado di aggiornare il nostro progetto ogni volta che vediamo che il progetto genitore viene aggiornato.
Per trovare il tuo progetto genitore, devi solo usare il link che si trova appena sotto il nome del tuo repository. (Controlla la seconda immagine della sezione Fork). Aggiungeremo queste informazioni di seguito:
Questo è il progetto originale (lo chiameremo a monte per stare al passo con molti progetti).
Come puoi vedere, ho aggiunto il telecomando con »git remote add »
Con questo potremo aggiornare il progetto quando necessario, ma non lo useremo ora perché non è necessario. (Lo spiegherò più avanti, o in un altro post, a seconda delle necessità)
Branch di società
I rami (o rami) ti consentono di creare sezioni di codice che puoi lavorare in un ambiente isolato. Ciò significa che ciò che fai in un ramo non influisce necessariamente sul codice originale fino a quando non viene utilizzato un »git merge«. È anche una funzionalità extra che Github ti consente, ogni volta che crei un ramo, Github genera automaticamente il sorgente della richiesta di pull quando necessario.
Ora che siamo nel nostro ramo speciale, possiamo lavorare sul nostro contributo.
modifiche
Aggiungerò un paio di file in modo che tu possa vedere come è fatto.
"Touch" ci permette di creare un file vuoto (se non esiste). con questo possiamo passare al nostro passaggio successivo.
Aggiungi
»Git add» ci permette di aggiungere file al nostro commit (spiegherò più avanti). Per vedere quali file puoi aggiungere puoi utilizzare il comando »git status»
Con questo abbiamo tutto pronto per il nostro impegno
Commettere
I commit sono segni (o pietre miliari) nel tempo. definiscono uno stato per tutti i file del progetto e accumulano le modifiche necessarie per arrivare dall'inizio del progetto allo stato corrente. Sembra un po 'complesso, ma è abbastanza semplice, ricorda che sono le scale del tuo progetto. Scriviamo »git commit» e avremo una finestra per scrivere il nostro messaggio di commit.
E al termine e al salvataggio del testo, vedremo qualcosa di simile:
Dove viene mostrato un riepilogo di ciò che fa il commit.
Spingi
Con push stiamo caricando sul nostro account Github tutti i commit che abbiamo sul computer che non sono nel nostro repository su Internet. Ciò consentirà a Github di generare automaticamente il nuovo PR.
Notare che stiamo usando il nome della nostra filiale e che ci chiede il nostro nome utente e password. Alla fine ci mostra che il ramo myImprovement è stato creato all'interno del nostro account Github. Vediamo cosa abbiamo ottenuto nel browser. 😉
PR
Come puoi vedere, è stata creata una nuova riga che dice "Compare & Pull request". Questa funzionalità di Github ci permette di creare il PR in modo semplice, faremo clic per vedere cosa succede.
Github è piuttosto intelligente. Come puoi vedere, parti del commit vengono aggiunte al modulo per l'invio. È solo necessario fare clic sul pulsante e il gioco è fatto. 🙂 Semplice.
Extra
Questo è dietro le quinte dei progetti, compare il PR e il manager decide se accettare o meno, oppure scrivere più messaggi. Nel mio caso lo accetterò immediatamente.
Una volta completata l'unione, potranno vedere il registro di commit del progetto e vedervi il loro nome.
Ma ora abbiamo un problema. Quel commit non appare in nostro repository, solo nel progetto. Ricordi il nostro passaggio remoto? Adesso è quando paga 🙂
Torniamo al nostro ramo principale e facciamo quanto segue:
Con questo abbiamo scaricato tutte le informazioni del progetto originale al nostro team. Come puoi vedere, il nostro impegno appare lì. Ora salveremo tutto questo lavoro nel nostro repository Github per poter eliminare il ramo che ha il contributo che hanno già aggiunto al progetto.
Ora che abbiamo il nostro repository Github aggiornato, elimineremo il nostro ramo, ma prima ci assicuriamo che sia all'interno del nostro ramo principale (master)
Come puoi vedere ho avuto un leggero errore, questo perché ero nel mio ramo myImprovement quando volevo eliminare. Il problema viene risolto tornando al ramo principale.
Conclusione
Fatto 🙂 così semplice. Ora che hai imparato gli oscuri segreti di Github per l'invio di PR, non vedo l'ora di vedere i tuoi contributi su vari progetti. E se vuoi puoi lasciare il tuo primo PR nel mio repository 😉 per la memoria.
Non ho toccato i mille e uno vantaggi di Git (OJO, non GitHub) e come ci si aspetterebbe da sviluppatori legati alla comunità del kernel, Git è uno strumento estremamente potente, con centinaia di funzionalità.
Per avere un'idea migliore di cosa fa e di tutta la potenza di Git, lo consiglio vivamente Libro. Sono sicuro che ti aiuterà molto a migliorare la tua gestione di git.
Saluti e spero che ti aiuti 😉
Ottimo tutorial, si spera che tu possa continuare ad approfondire Git. Grazie!
Chiaro! Aggiungerò più contenuti non appena possibile su questo e molto altro ancora.
Eccellente
Quanto ti è servito 😉 Saluti
Appena posso lo pratico, grazie mille, questo tutorial è quello che cercavo da tempo ma non sono riuscito a trovarlo!
Molto ben spiegato, dalle basi, grazie. Migliorerei le captuas quando hai tempo.