Tutorial simple per fer el teu primer PR (Pull Request)

Bé, aquest si crec que serà un tutorial bastant curt i esperem que didàctic;). Vaig a posar a disposició de vostès un petit dipòsit en el meu github perquè puguin enviar els seus PR i a el mateix temps perquè practiquin com fer tots els passos que vaig a deixar a continuació. Aquí el link per fer les seves PR de prova:

https://github.com/CodeLabora/TuPrimerPR

Bé, anem a llistar ràpidament els passos necessaris per enviar un PR:

  1. Forquilla
  2. Clone
  3. Remot
  4. Branca
  5. canvis
  6. Add
  7. Cometre
  8. Empenta
  9. PR

Els estic posant en anglès perquè trobin les seves respectives opcions a la línia d'ordres de git.

Forquilla

Un fork és la teva pròpia versió d'un repositori de Github. Aquest et permet clonar el treball d'un altre projecte i tenir-ho en compte perquè puguis canviar coses sense preocupació de perdre els canvis. Per fer un fork només cal anar a la pàgina i donar clic a el botó Fork que es troba a la part superior dreta.

Disseny propi. Christopher Díaz Riveros

Un cop realitzat el fork podran veure que en el seu compte apareix el repositori.

Disseny propi. Christopher Díaz Riveros

Clone

Ara que ja tenim un repositori ho anem a clonar al nostre equip. (Assumeixo que em segueixen persones que fan servir Linux, però per als usuaris d'altres sistemes també existeixen versions de git que poden descarregar a la seva pàgina oficial.

Disseny propi. Christopher Díaz Riveros

I amb el nostre terminal fem el següent.

Disseny propi. Christopher Díaz Riveros

Amb això tindrem una nova carpeta anomenada TuPrimerPR en la qual estarà el nostre projecte de Github. entrem a la carpeta amb la comanda «cd TuPrimerPR» i veurem que dins hi ha els arxius que es troben al nostre fork.

Disseny propi. Christopher Díaz Riveros

(Tinguin en compte que la quantitat d'arxius pot variar depenent del que trobin en el meu repositori quan facin el fork)

Remot

Aquest és un pas opcional, però que evita molts problemes a l'hora de treballar de manera contínua en un projecte. Fork per defecte crea una còpia exacta de l'repositori, però en el moment exacte de la creació. Això vol dir que si el projecte segueix avançant, el seu repositori es quedarà endarrerit amb el passar dels dies o hores. «Git remote» ens permet especificar un altre punt de descàrrega (el projecte original) i així poder actualitzar el nostre projecte cada vegada que veiem que el projecte pare s'està actualitzant.

Per trobar el teu projecte pare només cal fer servir l'enllaç que es troba just a sota del nom del teu repositori. (Reviseu la segona imatge de l'apartat Fork). Anem a afegir aquesta dada a continuació:

Disseny propi. Christopher Díaz Riveros

Aquest és el projecte original (ho anem a cridar riu amunt per seguir el corrent de molts projectes).

Disseny propi. Christopher Díaz Riveros

Com poden veure, he afegit el remote amb »git remote add »

Amb això podrem actualitzar el projecte quan sigui necessari, però no ho farem servir ara perquè no cal. (Això ho explico més endavant, o en un altre post, depenent de la necessitat)

Branca

Els branch (o branques) permeten crear seccions de codi que pots treballar en un entorn aïllat. Això vol dir que el que facis en un branch no necessàriament afecta el codi original fins que s'utilitzi un »git merge«. També és una funcionalitat extra que et permet Github, cada vegada que el teu crees un branch, Github genera automàticament la font de l'Pull Request quan cal.

Disseny propi. Christopher Díaz Riveros

Ara que estem en la nostra branca especial, podem treballar en la nostra contribució.

canvis

Vaig a afegir un parell d'arxius perquè vegin com es fa.

Disseny propi. Christopher Díaz Riveros

«Touch» ens permet crear un arxiu (si és que no existeix) en blanc. amb això podem passar al nostre següent pas.

Add

»Git add» ens permet afegir arxius al nostre commit (els explico més endavant). Per veure quins fitxers podeu afegir es pot utilitzar l'ordre »git status»

Disseny propi. Christopher Díaz Riveros

Amb això tenim tot preparat per al nostre Commit

Cometre

Els commits són marques (o fites) en el temps. defineixen un estat per a tots els arxius de el projecte i acumulen els canvis necessaris per arribar des del principi de el projecte fins a l'estat actual. Sona una mica complex, però és bastant senzill, només recorda que són les escales del teu projecte. Vam escriure »git commit» i ens sortirà una finestra per escriure el nostre missatge de commit.

Disseny propi. Christopher Díaz Riveros

I a l'acabar i guardar el text, veurem alguna cosa com:

Disseny propi. Christopher Díaz Riveros

On es mostra un resum del que fa el commit.

Empenta

Amb push estem pujant al nostre compte de Github tots els commits que tenim en l'equip que no es troben al nostre repositori a internet. Això farà que Github pugui generar el nou PR de manera automàtica.

Disseny propi. Christopher Díaz Riveros

Noten que estem fent servir el nom del nostre branch i que ens sol·licita el nostre usuari i contrasenya. A la fin ens mostra que s'ha creat el branch miMejora dins del nostre compte de Github. Anem a veure en el navegador el que hem aconseguit. 😉

PR

Disseny propi. Christopher Díaz Riveros

Com poden veure, s'ha creat una nova línia que diu «Compari & Pull request». Aquesta funcionalitat de Github ens permet crear el PR de manera senzilla, donarem click per veure què passa.

Disseny propi. Christopher Díaz Riveros

Github és bastant intel·ligent. Com poden apreciar, parts el commit s'agreguen a el formulari per enviament. Només cal donar clic a el botó i llest 🙂 Senzill.

Extra

Això és el darrere de càmeres dels projectes, apareix el PR i l'encarregat decideix si acceptar o no, o escriure més missatges. En el meu cas ho vaig a acceptar de manera instantània.

Disseny propi. Christopher Díaz Riveros

Un cop realitzat el merge, podran veure el registre de commits de el projecte i veure el seu nom en ell.

Disseny propi. Christopher Díaz Riveros

Però ara tenim un problema. Aquest commit no apareix en nostre repositori, només en el de el projecte. Recorden el nostre pas de remote? Ara és quan rendeix fruits 🙂

Tornem al nostre branch màster i fem el següent:

Disseny propi. Christopher Díaz Riveros

Amb això hem descarregat tota la informació de el projecte original al nostre equip. Com poden apreciar, aquí apareix el nostre commit. Ara anem a guardar tot aquest treball en el nostre repositori de Github per poder eliminar el branch que té l'aportació que ja van agregar a el projecte.

Disseny propi. Christopher Díaz Riveros

Ara que ja tenim el nostre repositori de Github actualitzat anem a esborrar el nostre branch, però primer ens assegurem que estigui dins la nostra branca principal (màster)

Disseny propi. Christopher Díaz Riveros

Com poden veure vaig tenir un lleuger error, això era perquè em trobava en el meu branch miMejora a l'hora de quere esborrar. Això s'arregla tornant a l'branch màster.

Conclusió

A punt 🙂 tan senzill com això. Ara que dominen els foscos secrets de Github per enviar PR, espero veure les seves contribucions a diversos projectes. I si volen poden deixar el seu primer PR a la meva repositori 😉 per al record.

No he tocat mil i un beneficis de Git (ULL, No Github) i com és d'esperar de desenvolupadors que estan lligats a la comunitat de el nucli, Git és una eina summament poderosa, amb centenars de funcionalitats.

Per poder tenir una millor idea del que fa i tot el poder de Git, els recomano molt aquest llibre. Estic segur que els ajudarà bastant a millorar en el maneig de git.

Salutacions i espero que els ajudi 😉


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   cristian Abarzúa va dir

    Excel·lent tutorial, tant de bo puguis continuar aprofundint sobre Git. Gràcies!

  2.   ChrisADR va dir

    És clar! Aniré afegint més contingut tot just pugui sobre això i moltes coses més.

  3.   gustavo va dir

    Excel · lent

    1.    ChrisADR va dir

      Que bo que et va servir 😉 Salutacions

  4.   abril va dir

    Quant pugui el practico, moltes gràcies, aquest tutorial és el que porto temps buscant però no el trobava!

  5.   Ch3ssMaster va dir

    Molt ben explicat, des del bàsic, gràcies. Jo milloraria les captuas quan tinguis temps.