Å få tak i GitHub

Et prosjekt er alltid mer moro når du har venner som jobber med deg, men hvordan kan du gjøre det når du jobber med et kodingsprosjekt? Jeg holder tastaturet mitt til meg selv, takk.

Skriv inn GitHub. Med denne webtjenesten kan du dele dine kodingsprosjekter og samarbeide med letthet!

Ansvarsfraskrivelse

Denne opplæringen vil anta at du er kjent med Git, uten tvil den beste distribuerte versjonskontrollprogramvaren der. Er du allerede tapt? Ikke bekymre deg: les min introduksjon til Git for å komme opp og løpe. Så kom deg tilbake hit og finn ut alt om GitHub, det sosiale nettverket for utviklere!

Starter

Selvfølgelig trenger du en GitHub-konto hvis du skal oppleve noen av de sosiale kodende godhetene. La oss gjøre det akkurat nå. Gå over til GitHubs nettsted og klikk "Prissetting og registrering" øverst.

Opprette en konto

Det finnes flere forskjellige planer du kan bruke, avhengig av dine behov. Akkurat nå er den gratis "open source" -kontoen alt vi vil ha; så la oss klikke på "Registrer deg". Det er din standard registreringsside; skriv inn ditt navn, e-postadresse og passord. Du trenger også en SSH-offentlig nøkkel; Jeg forklarte hvordan jeg får en i min forrige artikkel:

Åpne opp din terminal og skriv inn dette: ssh-keygen -t rsa -C "[email protected]". T-alternativet tilordner en type, og C-alternativet legger til en kommentar, tradisjonelt e-postadressen din. Deretter blir du spurt hvor du skal lagre nøkkelen; bare treffer enter vil gjøre (som lagrer filen til standardplasseringen). Skriv deretter inn en passord, to ganger. Nå har du en nøkkel; la oss gi den til GitHub.

Først får du nøkkelen fra filen; terminalen vil ha fortalt deg hvor nøkkelen ble lagret; åpne filen, kopier nøkkelen (vær forsiktig så du ikke legger til nye linjer eller hvite mellomrom).

Når du har nøkkelen, bare lim den inn i riktig felt. Som det står, trenger du ikke å gjøre dette nå; Du kan legge til en nøkkel senere. Klikk deretter på knappen for å godta og registrere deg.

Oppvarming til grensesnittet

Når du logger deg inn, vil du se oversikten. det er noe slikt:

I øverste høyre hjørne kan du se en verktøylinje med alternativer for å kontrollere kontoen din. Det er også noen koblinger for å komme seg rundt GitHub, så vel som søkeboksen.

Hovedpanelet tilbyr en rekke handlinger; senere vil det bli brukt til å holde deg oppdatert om prosjekter du er interessert i. Og til høyre for det, vil dine egne repositorier bli oppført. Husk, i Git er repositorier beholderne som holder all koden og historien knyttet til ett prosjekt.
Når du har en sjanse, bla gjennom kontoinnstillingene, det er alt du kan forvente, så jeg vil ikke gå over det; men hvis du planlegger å være en ivrig gubber, bør du sannsynligvis fylle ut profilen din og se hva annet er der inne.

Det handler om Repos

Virkelig, hele GitHubs formål er å lage Git-repositorier tilgjengelig for verden; Derfor følger det med at arbeid med repositorier (eller repos, som de ofte kalles), er noe du bør være komfortabel med.

Å lage et lager er ganske enkelt. På dashbordet klikker du på "New Repository" øverst på repolisten din (som for øyeblikket er tom).

Tre tekstbokser venter deg her; Ditt depot vil trenge et prosjektnavn, en beskrivelse og nettadressen til prosjektets nettsted. Hvis du har oppgradert til en av de betalte planene, kan du velge om dette skal være tilgjengelig for publikum eller ikke. Når du er ferdig, trykk "Create Repository."
GitHub vil nå gi deg instruksjoner for å koble GitHub-depotet til et av ditt lokale Git-depot. Hvis du er kjent med Git, bør dette være ganske gammel hatt til deg. Den viktigste delen er de to siste linjene i enten "Next Steps" eller "Existing Git Repo?"

 git remote add opprinnelse [email protected]: aburgess / My-First-GitHub-Repo.git git push-opphavs master

Git-Remote-kommandoen lar deg spore andre lagre og holde dem "synkronisert" med din lokale. I vårt tilfelle sporer vi depotet på GitHub fra vårt lokale lager. Så, den første linjen legger til en fjernkontroll; vi kaller det "opprinnelse" og gir det en nettadresse. Dette er en privat nettadresse som bare du kan bruke til å lese og skrive til GitHub repo.

I den andre linjen bruker vi git-push-kommandoen til å sende alt i master-grenen ut til opprinnelsen (vårt GitHub-depot). Legg merke til at ingen av kodingen eller prosjektarbeidet (opprettelse av filer, etc) er gjort på GitHub. Det er alt lokalt arbeid; du bør jobbe med prosjektet akkurat som du ville en vanlig vanilje lokale repo. Du vil imidlertid regelmessig skyve den til GitHub med den andre linjen.

Så la oss si at du har jobbet på et prosjekt for en stund, og du har presset dine forpliktelser til en GitHub repo. Hvilke prosjektmeta-data kan vi utforske på GitHub? La oss se på jQuery-depotet.

Se den aktuelle verktøylinjen nær toppen, like under prosjektnavnet? Disse alternativene lar oss bore ned i noen av Git-informasjonen som vi avdekket i kommandolinjen sist gang. Akkurat nå er vi på kildefanen. Det starter med nedtrekk for repo-grenene og kodene; bruk disse for å vise de forskjellige grenene eller kodene. Det er også noen prosjektmeta-data; vi har prosjektnavnet, nettadressen og kloning av nettadresser (disse nettadressene er skrivebeskyttet).

Deretter kan du se informasjonen om det siste forlovet: forfatter, tid, kommentar og hashes. Under det har du en filbrowser, som viser deg de nyeste versjonene av alle filene i prosjektet, samt alder og meldingen til den siste forpliktelsen de ble endret i.

Hvis prosjektet har en readme-fil, vises det under filbrowseren.

inger

La oss bytte til fanen Forpliktelser øverst og se hva den innehar.

Som du kanskje forventer, kan vi se en tilbakekalling av forpliktelser på dette prosjektet. Ved å klikke på commit hash (til høyre for commit-oppføringen) får du se hva som ble endret i forpliktelsen.

Grønne linjer (prepended med '+') er tillegg og røde linjer (prepended med '-') er slettinger.
Du kan abonnere på begivenhetshistorikken RSS-feed av noen repo hvis du vil holde rede på det.

Network

Den neste kategorien er nettverksfanen; Dette viser deg en grafisk fremstilling av depotets historie. Denne grafen er trukket fra perspektivet til kommitteren 'jquery'. Hver forpliktelse vises bare en gang, så forplikter ikke på jQuery's linje er ikke i jQuery's repo. På denne måten kan vi se hva forpliktelser andre har gjort som vi ikke har. Det er utrolig nyttig, men litt forvirrende hvis du ikke grokker git hele veien. Hvis du vil vite mer, sjekk ut GitHubs blogginnlegg om det.
Nettverk-fanen tilbyr også en liste over medlemmer (folk som har forked repo) og en feed også.

grafer

Grafer-fanen gir deg en rekke forskjellige visninger av prosjektet ditt fra et grafisk perspektiv. Det er egentlig bare metadata, men det kan gi noen interessante innsikter:

Gaffelkø

Hvis du ser på et lager du eier, vil du se en annen kategori, Fork Queue. Dette viser deg samme informasjon som du så i nettverksgrafen, men annerledes. Herfra kan du velge hvilket plikter å søke på depotet ditt, på hvilken gren du vil. For mer på gaffelkøen, sjekk ut dette innlegget og videoen på GitHub-bloggen.

Du kan aktivere tre andre faner fra repo admin panel: Wiki, Utgaver og Nedlastinger. Disse lar deg lage en wiki, spor bugs i prosjektet ditt, og tilby nedlastbare kopier av repo. De er alle ganske intuitive.

Den sosiale siden

Som tagline sier, handler GitHub om sosial koding. Selv om vi allerede har sett noen av dem, er det på tide å sjekke ut resten av GitHubs sosiale funksjoner.

Utforske andre oppbevaringssteder

Hvis du noen gang har litt ledig tid og ønsker å grave inn i et kodingsprosjekt for en stund, er GitHub det ideelle stedet å gå. La oss se hvordan vi kan finne interessante prosjekter.
Start med å klikke på "Utforsk GitHub" til høyre for søkeboksen. Vi har et par faner å velge mellom her:

  • repositories
  • Søke
  • Tidslinje
  • språk
  • endrings~~POS=TRUNC

For meg er det mest interessert språkfeltet; velg ditt språk og sjekk ut de mest ettersynte og mest forkedprosjektene for det språket.

Så la oss si at du har funnet et prosjekt du er interessert i; hva nå?

Samhandling med andre repositorier

Når du ser på en repo, er de sosiale verktøyene under søkefeltet. Starte til høyre, kan du se hvor mange mennesker har forkedet prosjektet, og hvor mange som ser på det. Vi har snakket om å forkaste og se på, men det er på tide å få noen formelle definisjoner på bordet.

  • Forking et prosjekt betyr at du får en kopi av det lagringsplasset du kan spille med alt du vil.
  • Å se på et prosjekt betyr at eventuelle handlinger på den vil dukke opp i nyhetsfeeden din på dashbordet.

Jeg tar en kaninspor, men du kan gjøre mer enn å se på prosjekter; hvis du finner spesielt talentfulle utviklere, kan du følge dem for å spore hver tastetrykk. Bare klikk på følgeknappen på profilsiden deres.

Du kan også sende dem en melding hvis du vil. Nå snakker vi sosiale nettverk!

Tilbake på den sosiale verktøylinjen kan neste knapp (flytting til venstre) forutsigbart laste ned kildekoden til prosjektet. Den neste knappen lar deg gaffel repo, og den siste lar deg se den (du så det som kommer).

Hvis du ser på et eget lager, vil det være to andre knapper på rad: 'Pull Request' og 'Admin.' Vi kommer tilbake til "Pull Request" om et minutt; Ta gjerne titt på administrasjonspanelet.

Det bør være klart de fleste av de grunnleggende funksjonene er:

  • endre standardgrenen din
  • lage en prosjektside (vi kommer tilbake til dette)
  • slå de ekstra fanene (wiki, nedlastinger, problemer) på / av
  • omdøpe eller slette repo

Når du er ferdig, klikker du på prosjektnavnet øverst for å gå tilbake til kildevisningen.

Vårt scenario før vi introduserte de sosiale verktøyene var at du hadde funnet en repo du vil jobbe med. Det første du må gjøre er å gaffel prosjektet; bare klikk på "gaffel" -knappen. Nå har du en kopi av repoen i kontoen din. La oss klone repoen til datamaskinen din ved hjelp av din private klonadresse. Hvis du gjør dette, oppretter du automatisk en ekstern, oppkalt opprinnelse, som vi diskuterte tidligere. Den opprinnelsen er ikke det opprinnelige prosjektet du forked (du kan ikke skrive til det), men din forkedkopi av den. Du må imidlertid sette opp en fjernkontroll for det opprinnelige prosjektet, men; gjør det med denne kommandoen:

 git fjernkontroll legg til oppstrøms [originalt prosjekts offentlige klonadresse her] git hente oppstrøms

Den siste linjen får de nyeste filialene fra fjernkontrollen og lagrer dem i sporingsgrener.
Nå er det på tide å begynne koding. Som du gjør begår, vil de vise opp det opprinnelige prosjektets nettverksgraf, fordi de ikke er i den repoen. De vil også dukke opp i den repoens gaffelkø, så eieren kan trekke dem inn hvis han / hun liker dem. Du kan imidlertid be om at de blir trukket inn. Det er det som er forespurt-knappen for: du kan sende eieren av den originale repo en melding.

Det er ikke noe fancy; Egentlig, det lar dem bare vite at de bør sjekke ut gaffelkøen.
Men hva om de har gjort endringer i prosjektet siden du forkedte det? Det er best praksis å integrere endringene i din repo før du ber om at de trekker inn endringene dine. Du kan enkelt få sine oppdateringer ved hjelp av den oppstrøms fjernkontrollen du har laget! Bare kjør denne kommandoen:

 git hente oppstrøms master git fusjon oppstrøms / master

Som vi bare så et øyeblikk siden, får hent-kommandoen det nyeste innholdet fra den angitte fjernkontrollen, i dette tilfellet vår oppstrøms fjernkontroll. Også, vi spesifiserer at vi bare ønsker master-grenen. Den andre linjen slår sammen den angitte grenen med den vi er på. Vi er på hovedgrenen til vår lokale repo, og vi vil slå sammen vår sporingsgren oppstrøms / mester.

Merk: Hvis denne sporingskontakttalen forvirrer deg, sjekk ut denne artikkelen på gitready.com. I utgangspunktet er sporingsgrener bare grener som holder styr på hvor andre reposer med samme prosjekt er i forhold til repo. For å se alle filialene dine, kjør kommandoen git grenen -a. Her er hva jeg får for en forked repo:

Hvis du er lat, kan du kjøre kommandoen git pull oppstrøms master. Dette gjør både hente og fusjonere kommandoer samtidig. Dette kan imidlertid føre til sammenslåing av problemer, så hold deg borte fra det!
Når du har slått sammen endringene, kan du be om å trekke med ro i sinnet, å vite at gaffelen er oppdatert med oppstrømsarkivet.

Bruker- og prosjekt sider

Github gir deg en ganske unik evne til å lage en personlig nettside fra et GitHub-lager. Mitt GitHub brukernavn er andrew8088, så hvis jeg opprettet en repo som heter andrew8088.github.com, vil den bli publisert på http://andrew8088.github.com. Så enkelt som det!

Du kan også opprette et nettsted for et prosjekt; Dette er litt mer komplisert, men GitHub gjør det enkelt å få en generisk, enkelt side som forklarer prosjektet. Klikk på admin-knappen i din sosiale verktøylinje. Deretter klikker du 'Generer prosjektsiden din' under 'Repository Information'.

Deretter fyller du bare i alle feltene:

Og klikk på "Opprett side".

Hvis du vil tilpasse siden din ytterligere eller legge til sider, kan du følge de avanserte instruksjonene i GitHub Pages Help.

Når det bare er en utdrag

Har du noen gang snakket kode med en venn på nettet og ønsket å dele en utdrag? Det skjer med oss ​​alle, og GitHub tilbyr en rask måte å gjøre det på. Det er Gist. De sier det best:

Gist er en enkel måte å dele utklipp og pasta på med andre. Alle gjengene er git repositories, så de blir automatisk versjonert, forkable og brukbare som et git repository.

Klikk på Gist-lenken til venstre for søkefeltet, eller gå til Gist.GitHub.com. Du kan bare lim inn koden din eller skrive inn alt. Gi det et filnavn og la dem få vite hvilket språk du skriver (for syntaxutheving). Deretter klikker du på "Opprett offentlig gjeng." Kopier nettadressen og del!

Holde i kjennskapet

Ethvert sosialt nettverk kan bli addicting, og GitHub er ikke annerledes. Hvis du vil holde styr på dine reposer på farten, sjekk ut iOctocat, GitHub-appen for iPhone og iPod Touch.

Konklusjon

Vel, det har vært en virveltur tur, men jeg håper du føler deg mer kjent med hva som kan være den beste koden hosting / deling nettsted på nettet! Har du brukt GitHub? Har et bedre alternativ? Treff kommentarene!

Skriv en Plus Tutorial

Visste du at du kan tjene opp til $ 600 for å skrive en PLUS-opplæring og / eller screencast for oss? Vi leter etter dybde og velskrevne opplæringsprogrammer om HTML, CSS, PHP og JavaScript. Hvis du er i stand til å kontakte Jeffrey på [email protected].

Vær oppmerksom på at faktisk kompensasjon vil være avhengig av kvaliteten på den endelige opplæringen og screencast.

  • Følg oss på Twitter, eller abonner på Nettuts + RSS-feed for de beste webutviklingsopplæringene på nettet.