Enkel handledning för att göra din första PR (Pull Request)

Tja, den här tror jag kommer att bli en ganska kort handledning och förhoppningsvis pedagogisk;). Jag kommer att göra ett litet arkiv tillgängligt för dig på min github så att du kan skicka dina PR och samtidigt så att du kan öva på hur du gör alla steg som jag ska lämna nedan. Här är länken för att göra ditt test PR:

https://github.com/CodeLabora/TuPrimerPR

Tja, låt oss snabbt lista de steg som är nödvändiga för att skicka en PR:

  1. Gaffel
  2. klon
  3. fjärr
  4. Branch
  5. förändringar
  6. Lägg till
  7. Begå
  8. Tryck
  9. PR

Jag lägger dem på engelska så att de hittar sina respektive alternativ på git-kommandoraden.

Gaffel

En gaffel är din egen version av ett Github-arkiv. Detta gör att du kan klona arbetet med ett annat projekt och ha det på ditt konto så att du kan ändra saker utan att oroa dig för att förlora dina ändringar. För att göra en gaffel är det bara nödvändigt att gå till sidan och klicka på gaffelknappen längst upp till höger.

Egen. Christopher Diaz Riveros

När gaffeln är klar ser du att förvaret visas i ditt konto.

Egen. Christopher Diaz Riveros

klon

Nu när vi har ett arkiv kommer vi att klona det till vårt team. (Jag antar att personer som använder Linux följer mig, men för användare av andra system finns det också versioner av git som du kan ladda ner på dess officiella sida.

Egen. Christopher Diaz Riveros

Och med vår terminal gör vi följande.

Egen. Christopher Diaz Riveros

Med detta kommer vi att ha en ny mapp som heter TuPrimerPR där vårt Github-projekt kommer att vara. Vi går in i mappen med kommandot «cd TuPrimerPR» och vi ser att inuti finns filerna som finns i vår gaffel.

Egen. Christopher Diaz Riveros

(Observera att antalet filer kan variera beroende på vad de hittar i mitt arkiv när de gafflar)

fjärr

Detta är ett valfritt steg, men det undviker många problem när du arbetar kontinuerligt med ett projekt. Fork skapar som standard en exakt kopia av förvaret, men vid den exakta tidpunkten för skapandet. Detta innebär att om projektet fortsätter att gå vidare kommer ditt förvar att ligga efter med dagar eller timmar. Med "Git remote" kan vi ange en annan nedladdningspunkt (det ursprungliga projektet) och därmed kunna uppdatera vårt projekt varje gång vi ser att det överordnade projektet uppdateras.

För att hitta ditt överordnade projekt behöver du bara använda länken som ligger precis under namnet på ditt förvar. (Kontrollera den andra bilden av gaffelsektionen). Vi kommer att lägga till denna information nedan:

Egen. Christopher Diaz Riveros

Detta är det ursprungliga projektet (vi kommer att kalla det uppströms för att hålla jämna steg med många projekt).

Egen. Christopher Diaz Riveros

Som du kan se har jag lagt till fjärrkontrollen med »git remote add »

Med detta kommer vi att kunna uppdatera projektet när det behövs, men vi kommer inte att använda det nu eftersom det inte är nödvändigt. (Jag kommer att förklara det senare, eller i ett annat inlägg, beroende på behovet)

Branch

Grenarna (eller grenarna) låter dig skapa kodavsnitt som du kan arbeta i en isolerad miljö. Det betyder att det du gör i en gren inte nödvändigtvis påverkar den ursprungliga koden förrän en »git merge« används. Det är också en extra funktion som Github tillåter dig, varje gång du skapar en filial genererar Github automatiskt källan till Pull Request när det behövs.

Egen. Christopher Diaz Riveros

Nu när vi är i vår speciella gren kan vi arbeta med vårt bidrag.

förändringar

Jag ska lägga till ett par filer så att du kan se hur det görs.

Egen. Christopher Diaz Riveros

Med "Touch" kan vi skapa en tom fil (om den inte finns). med detta kan vi gå vidare till nästa steg.

Lägg till

»Git add» tillåter oss att lägga till filer i vårt engagemang (jag förklarar senare). För att se vilka filer du kan lägga till kan du använda kommandot »git status»

Egen. Christopher Diaz Riveros

Med detta har vi allt klart för vårt åtagande

Begå

Åtaganden är märken (eller milstolpar) i tid. de definierar ett tillstånd för alla filer i projektet och ackumulerar de ändringar som krävs för att komma från projektets början till det aktuella läget. Det låter lite komplicerat, men det är ganska enkelt, kom bara ihåg att de är trapporna i ditt projekt. Vi skriver »git commit» och vi får ett fönster för att skriva vårt meddelande.

Egen. Christopher Diaz Riveros

Och när vi avslutar och sparar texten ser vi något som:

Egen. Christopher Diaz Riveros

Där en sammanfattning av vad åtagandet visas visas.

Tryck

Med push laddar vi upp alla våra åtaganden på datorn som inte finns i vårt förråd på internet till vårt Github-konto. Detta gör det möjligt för Github att generera den nya PR automatiskt.

Egen. Christopher Diaz Riveros

Lägg märke till att vi använder namnet på vår filial och att den ber oss om vårt användarnamn och lösenord. I slutet visar det oss att myImprove-grenen har skapats inom vårt Github-konto. Låt oss se vad vi har uppnått i webbläsaren. 😉

PR

Egen. Christopher Diaz Riveros

Som du kan se har en ny rad skapats som säger "Jämför & dra begäran". Denna Github-funktionalitet gör att vi kan skapa PR på ett enkelt sätt, vi kommer att klicka för att se vad som händer.

Egen. Christopher Diaz Riveros

Github är ganska smart. Som du kan se läggs delar av engagemanget till i formuläret för inlämning. Det är bara nödvändigt att klicka på knappen och det är det. 🙂 Enkelt.

extra

Detta är bakom kulisserna för projekten, PR dyker upp och chefen bestämmer om han vill acceptera eller inte, eller skriva fler meddelanden. I mitt fall kommer jag att acceptera det direkt.

Egen. Christopher Diaz Riveros

När sammanslagningen är klar kommer de att kunna se projektets åtagandelogg och se deras namn i den.

Egen. Christopher Diaz Riveros

Men nu har vi ett problem. Det åtagandet visas inte i vår endast i projektet. Kommer du ihåg vår avlägsna passage? Nu är det när det lönar sig 🙂

Vi går tillbaka till vår huvudfilial och gör följande:

Egen. Christopher Diaz Riveros

Med detta har vi laddat ner all information om det ursprungliga projektet till vårt team. Som du kan se visas vårt åtagande där. Nu ska vi spara allt detta arbete i vårt Github-arkiv för att kunna ta bort den gren som har den inmatning som de redan lagt till i projektet.

Egen. Christopher Diaz Riveros

Nu när vi har vårt uppdaterade Github-arkiv kommer vi att ta bort vår gren, men först ser vi till att den finns i vår huvudgren (master)

Egen. Christopher Diaz Riveros

Som du kan se hade jag ett litet fel, det berodde på att jag var i min myImprovement-gren när jag ville radera. Detta åtgärdas genom att återvända till huvudgrenen.

Slutsats

Gjort 🙂 så enkelt som det. Nu när du har bemästrat Githubs mörka hemligheter för att skicka PR ser jag fram emot att se dina bidrag till olika projekt. Och om du vill kan du lämna din första PR i mitt arkiv 😉 för minnet.

Jag har inte rört tusen och en Git-fördel (ÖGA, inte Github) och som du förväntar dig av utvecklare som är knutna till kärngemenskapen är Git ett extremt kraftfullt verktyg med hundratals funktioner.

För att få en bättre uppfattning om vad den gör och all kraft från Git, rekommenderar jag det här boken. Jag är säker på att det kommer att hjälpa dig mycket att förbättra din hantering av git.

Hälsningar och jag hoppas att det hjälper dig 😉


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Cristian Abrazua sade

    Utmärkt handledning, förhoppningsvis kan du fortsätta gräva i Git. Tack!

  2.   ChrisADR sade

    Klar! Jag kommer att lägga till mer innehåll så snart jag kan om detta och mycket mer.

  3.   gustavo sade

    Utmärkt

    1.    ChrisADR sade

      Hur bra det tjänade dig 😉 Hälsningar

  4.   april sade

    Så snart jag kan kan jag öva på det, tack så mycket, denna handledning är det jag har letat efter länge men jag kunde inte hitta det!

  5.   Ch3ssMaster sade

    Mycket väl förklarad, från grunderna, tack. Jag skulle förbättra captuorna när du har tid.