Sådan foretager du din første pull-anmodning på GitHub

Hvad er gaffel?

Når vi elsker nogens arkiv og gerne vil have det på vores GitHub-konto, forkaster vi det, så vi kan arbejde med det separat.

Når vi forkæler et arkiv, får vi en forekomst af hele dette arkiv med hele dets historie. Efter gaffel kan vi gøre hvad vi vil uden at påvirke den originale version.

Hvad er en pull-anmodning?

Pull-anmodninger er den måde, vi bidrager til gruppeprojekter eller open source-projekter.

For eksempel gaffel en bruger Harry et lager af ThanoshanMV og foretager ændringer i dette lager. Nu kan Harry fremsætte en anmodning om træk til ThanoshanMV, men det er op til ThanoshanMV at acceptere eller afvise det. Det er som at sige "ThanoshanMV, vil du venligst trække mine ændringer?"

Hvad det betyder at bidrage med

Ikke kun kan vi bidrage til et open source-projekt med kode, men vi kan også bidrage på mange andre måder. Nogle af disse måder er beskrevet nedenfor.

Som 99xtechnology IT-firmaets startvejledning til hacktitude siger, kan vi bidrage til et open source-projekt på følgende måder:

  1. Design: Du kan konstruere et projekts layout for at forbedre dets anvendelighed, forbedre projektets navigation og menu baseret på brugerforskningsprogrammer, skabe kunst til logoer eller t-shirts og give stilguider til projektet.
  2. Skrivning: Du kan skrive og forbedre projektets dokumentation eller oversætte dokumentationen, starte et nyhedsbrev til projektet eller skrive tutorials til projektet og kurere højdepunkter fra mailinglisten eller kurere en mappe med eksempler, der viser, hvordan projekterne bruges.
  3. Organisering: Du kan linke duplikatemner, foreslå etiketter til nye emner, foreslå at lukke gamle åbne emner og stille spørgsmål om nyligt åbnede emner for at komme diskussionen videre.
  4. Hjælp andre: Besvar spørgsmål om åbne spørgsmål, gennemgå koden om andres bidrag og tilbud om at vejlede en anden bidragyder.
  5. Kodning: Hjælp med at løse eventuelle åbne problemer, spørg om du kan give nye funktioner og forbedre værktøj og test.

Lad os lave vores første anmodning om træk!

Hvis du ikke er meget fortrolig med Git & GitHub, skal du gå igennem Begyndervejledningen til Git & GitHub.

1. Gaffel arkivet

Gaffel lageret ved at klikke på gaffelknappen øverst på siden. Dette opretter en forekomst af hele arkivet på din konto.

2. Klon lageret

Når arkivet er på din konto, skal du klone det til din maskine for at arbejde med det lokalt.

For at klone skal du klikke på kloneknappen og kopiere linket.

Åbn terminalen, og kør følgende kommando. Det vil klone lageret lokalt.

$ git clone [HTTPS ADDRESS]

Nu har vi oprettet en kopi af mastergrenen fra det primære online projektlager.

Vi er nødt til at gå til den klonede mappe ved at køre denne kommando:

$ cd [NAME OF REPOSITORY]

3. Opret en filial

Det er god praksis at oprette en ny filial, når du arbejder med arkiver, hvad enten det er et lille projekt eller bidrager til en gruppes arbejde.

Filialens navn skal være kort, og det skal afspejle det arbejde, vi laver.

Opret nu en gren ved hjælp af git checkoutkommandoen:

$ git checkout -b [Branch Name]

4. Foretag ændringer og begå dem

Foretag vigtige ændringer i projektet, og gem det.

Udfør derefter git status, så ser du ændringerne.

Føj disse ændringer til den gren, du lige har oprettet ved hjælp af git addkommandoen:

$ git add .

Foretag nu disse ændringer ved hjælp af git commitkommandoen:

$ git commit -m "Adding an article to week 02 of articles of the week"

5. Skub ændringer til GitHub

For at skubbe ændringerne til GitHub skal vi identificere fjernbetjeningens navn.

$ git remote

For dette lager er fjernbetjeningens navn “oprindelse”.

Efter at have identificeret fjernbetjeningens navn kan vi sikkert skubbe disse ændringer til GitHub.

git push origin [Branch Name]

6. Opret pull-anmodning

Gå til dit lager på GitHub, og du vil se knappen "Sammenlign & træk anmodning" og klik på den.

Angiv de nødvendige oplysninger om, hvad du har gjort (du kan henvise til problemer ved hjælp af "#"). Indsend nu anmodningen om træk.

Tillykke! Du har fremsat din første anmodning om træk.  

Hvis din anmodning om træk accepteres, modtager du en e-mail.

7. Synkroniser din forked master-filial

Før du sender nogen pull-anmodninger til det originale lager, skal du synkronisere dit lager til det originale lager.

Selvom du ikke vil indsende en pull-anmodning til det originale lager, er det bedre at synkronisere med det originale lager, da der muligvis er gjort nogle yderligere funktioner og fejlrettelser, siden du forked det originale lager.

Følg disse trin for at opdatere / synkronisere disse ændringer til din mastergren:

  1. Først skal du kontrollere, hvilken afdeling du befinder dig i.
$ git branch

Det viser alle grene og angiver den aktuelle eller aktive gren i grønt.

2. Skift til mastergrenen.

$ git checkout master

3. Tilføj det originale lager som et opstrøms-lager.

For at trække ændringerne fra det originale lager til din forked-version skal du tilføje det originale Git-lager som et opstrøms-lager.

$ git remote add upstream [HTTPS]

Her er [HTTPS] den URL, du skal kopiere fra ejerens lager.

4. Hent lageret.

Hent alle ændringerne fra det originale lager. Forpligtelser til det originale lager lagres i en lokal filial kaldet upstream / master.

$ git fetch upstream

5. Flet det.

Flet ændringerne fra upstream / master til din lokale masterfilial. Dette vil synkronisere din gaffels hovedfilial med opstrømsopbevaringsområdet uden at miste dine lokale ændringer.

$ git merge upstream/master

6. Skub ændringer til GitHub

På dette tidspunkt synkroniseres din lokale filial med det originale arkivs hovedfilial. Hvis du vil opdatere GitHub-arkivet, skal du skubbe dine ændringer.

$ git push origin master

BEMÆRK: Efter synkronisering af din forked masterfilial kan du fjerne fjernbetjeningen, hvis du vil. Men du bliver også nødt til at opdatere / synkronisere dit lager i fremtiden, så det er den bedste praksis at beholde det.

$ git remote rm [Remote Name]

8. Slet den unødvendige gren

Filialer oprettes til et specielt formål. Når dette formål er nået, er disse grene ikke nødvendige, så du kan slette dem.

$ git branch -d [Branch Name]

Du kan også slette versionen af ​​den på GitHub.

git push origin --delete [Branch Name]

Konklusion

GitHub er et kraftfuldt værktøj til at styre versionshistorik. Alle kan bidrage til open source-projekter ved at fremsætte pull-anmodninger. Bidrag er ikke altid kode - der er også andre måder at bidrage på.

Endelig er jeg nødt til at fortælle dig, at du ikke skal bekymre dig, hvis dine pull-anmodninger afvises. Vedligeholdere bruger meget tid på at forbedre deres projekter, og de ved meget mere om deres projekter, end vi gør. Så rolig, hvis din anmodning ikke er flettet.

Bliv stærk, bliv positiv og giv aldrig op.

- Roy T. Bennett, Lyset i hjertet

Denne artikel blev oprindeligt udgivet på Medium.

Du kan kontakte og oprette forbindelse til mig på Twitter.

Bliv ved med at bidrage til open source-verdenen!