Kort om GitHub

Det er ikke noe gøy med kode før du deler den med noen, så hvorfor ikke se på hvordan du kan hente ned og laste opp prosjekter på GitHub?

I motsetning til Subversion, som du kanskje er kjent med fra før, gjør du ikke endringer direkte mot kilden som ligger på GitHub. Du lager en lokal kopi og gjør endringer i den, så laster du opp endringene til GitHub.

Ønsker du å legge prosjektet ditt på GitHub, trenger du en brukerkonto der. Tjenesten er gratis, dersom du velger å legge prosjektene dine åpne for offentligheten.

Ditt første prosjekt på GitHub

Når du har laget en konto, må du generere SSH-nøkler for å kunne laste opp til prosjektet. Det høres kanskje komplisert ut, men bare følg anvisningen på hjelpesidene til GitHub. Etter at det er gjort er det bare å velge New Repository for å opprette et nytt prosjekt.

Gå inn i et eksisterende Git-prosjekt du har liggende lokalt eller lag et nytt med «git init». På prosjektsiden på GitHub finner du en SSH Read-Write-adresse helt øverst. Denne kan du legge til som en kilde, eller «remote», i det lokale prosjektet ditt.

git remote add origin git@github.com:AudunWangen/MovieTweet.git

«origin» er navnet på kilden. Jeg kunne brukt et hvilket som helst navn, og du kan legge til så mange kilder du vil. Ønsker du få en liste over navnene og adressene for alle kildene i prosjektet kan du kjøre

git remote -v

Og som du kanskje allerede har gjettet, kan du bruke «remote rm» for å fjerne kilder. Og du kan bruke «remote rename» for å endre navnet på dem.

git remote rm origin
git remote rename test origin

Så kan vi laste opp det vi har laget i prosjektet lokalt til GitHub. Du oppgir navnet på kilden og hvilken forgreining du ønsker å laste ned. Kommandoen laster opp fra forgreiningen du står i, så pass på å kjøre en «checkout» til rett sted.

git push origin master

Det er fem kommandoer du bruker når du jobber mot kilder, «push», «clone», «pull», «fetch» og «prune». «Push» har vi allerede vært borte i, og vet nå at den brukes til å laste opp endringer tilbake til kilden. Du må ha skriverettigheter til kilden for å få gjort dette, så du får ikke gjort dette mot andre brukeres prosjekter. Da må du lage en «fork», som nevnt i neste kapittel.

«Clone» lager en kopi av hele prosjektet, inkludert alle forgreininger.

git clone git://github.com/AudunWangen/MovieTweet.git

«Pull» henter ned endringer fra kilden for en ønsket forgreining.

git pull origin master

«Fetch» er ganske lik «pull», men gjør ingen endringer på filene. Kun Git-spesifikke data hentes ned, så du må kjøre en «merge» i tillegg for å oppdatere filene.

git fetch origin

«Fetch» fjerner ikke forgreininger som har blitt slettet i kilden, men dette kan gjøres manuelt med kommandoen «prune».

git remote prune origin

Bidra til andres prosjekter

Som du ser på prosjektsiden til MovieTweet har du kun lesetilgang til prosjektet, så ønsker du å bidra med kode må du enten be om skrivetilgang til prosjektet1 eller lage en såkalt «fork».

«Forking» har vanligvis vært et ganske negativt ladet ord i programmeringssammenheng, men ikke i Git-sammenheng. Det står mer om hvordan du lager en «fork» av et prosjekt på GitHub. Kort fortalt er en fork en kopi av prosjektet. Først velger du «fork» på siden til et prosjekt for å lage din egen versjon. Så kan du kjøre «git clone» på din egen kopi av prosjektet og kjøre «push» akkurat som for andre prosjekter.

Har endringene du har gjort i din «fork» nytte for andre, bør du sende en «pull request». Du finner en egen knapp for det på din egen kopi av prosjektet på GitHub. Da sendes en beskjed til utvikleren av originalen om at du har gjort endringer. Han kan gå inn på din versjon, hente ut endringene og legge de tilbake i originalprosjektet.

Referanser:

  1. Help on GitHub
  2. Starting with git using just 10 commands
  3. Git Video Tutorials
  1. Du kan velge «Collaborators» i Admin-menyen på GitHub for å legge til prosjektmedlemmer []

Sider: 1 2