Programmering

Åpen kildekode Java-prosjekter: GitHub

Hvis du har vært nysgjerrig på GitHub, er denne korte opplæringen i Åpen kildekode Java-prosjekter serien er for deg. Få en oversikt over kildekodedepotet som har endret måten mange utviklere jobber på, både individuelt og i samarbeid. Prøv deretter GitHub selv, ved å bruke vanlige Git-kommandoer for å forgrene og begå ditt eget open source-prosjekt.

GitHub er et nettsted for sosial koding og kildekode-hostingtjeneste som bruker Git som sitt versjonskontrollsystem. Lansert i 2008, har GitHub allerede nesten 1,7 millioner mennesker som er vert for nesten 3 millioner arkiver. Som de fleste sosiale nettverk tillater GitHub brukere å opprette og følge feeder tilknyttet hverandres prosjekter. Det utvider også det sosiale paradigmet til å omfatte nettverksgrafer som viser depotbruk. Du kan tenke på GitHub som et sosialt nettverk, a la Facebook, men bare for programvareutviklere.

Å samle sosiale elementer med et gratis arkiv for å være vert for åpen kildekode-prosjekter, har GitHub som mål å dyrke et støttende og aktivt samfunn til forbedring av programvareindustrien. Jo mer aktivt et prosjekt er, jo flere mennesker vil finne det, og forhåpentligvis bidra til det. GitHub tilbyr også kommersiell prosjektstøtte til nominell kostnad.

I tillegg til å følge prosjekter, tillater GitHub brukere å følge individuelle programvareutviklere. Dette gjør det enkelt å holde tritt med hva venner og kolleger gjør og gjennomgå koden deres, samt oppsøke kjente programmerere og følge deres arbeid. En jevnlig oppdatert feed gir en mulighet til å se noen praktisere håndverket sitt. For utviklere er det mye å lære av å studere hverandres kode og metode; for eksempel å kunne se hvilken kode andre utviklere presser til prosjektene sine, og når, er en fin måte å lære på høyt nivå om utviklingssyklusen for utgivelser.

Følg historien på JavaWorld

  • Hvorfor utviklere velger Git for versjonskontroll
  • Når gaffel blir norm, gjør deg klar for GitHub
  • GitHub får $ 100 millioner investering

Sosial koding med GitHub gjør det mulig for utviklere å lære av hverandre på en ny måte mens de lagrer og oppdaterer koden ved hjelp av et populært versjonskontrollsystem som er godt utstyrt. I denne utgaven av Åpen kildekode Java-prosjekter Jeg vil hjelpe deg med å komme i gang med GitHub. Først vil jeg gi en oversikt over plattformen, og deretter introdusere noen grunnleggende om Git, inkludert kommandolinjealternativer som du ofte bruker i GitHub. Til slutt vil jeg gå gjennom en enkel forskjell-til-begå eksempel som demonstrerer den daglige kraften i dette distribuerte kodelageret.

Kom i gang med GitHub

GitHub-kontoer kommer i flere smaker, gruppert etter individuell eller kommersiell konto og etter offentlig eller privat depot. Åpne kildekodeutviklere har tillatelse til ubegrensede offentlige depoter, eller mot et lite gebyr kan de velge å være vert for mellom fem og 20 private depoter. Kommersielle utviklere betaler mer (omtrent dobbelt så mye som åpen kildekode-utviklere i skrivende stund) og kan skaleres til opptil 125 private repositorier. Se GitHub-hjemmesiden for en fullstendig oversikt over planer og priser.

Du trenger en GitHub-konto for å følge med på denne artikkelen. Gå til GitHub-nettstedet, og klikk på koblingen Registrering og priser øverst på siden. Klikk "Opprett en gratis konto" og fullfør prosessen for å opprette kontoen.

Hvis du vil ha installasjonsinstruksjoner for operativsystemet ditt, kan du se GitHub-opplæringen. Merk at installasjonsprosessen automatisk installerer en GUI-klient og ber deg om å installere GitHubs kommandolinjeverktøy manuelt. Jeg anbefaler at du tar dette alternativet i tilfelle du noen gang vil gjøre noe raskt på kommandolinjen.

Git: En grunning

Du må være i det minste litt kjent med Git for å effektivt kunne bruke GitHub. Et interessepunkt for de fleste geeks er at Git ble designet og utviklet av Linus Torvalds, grunnleggeren av Linux. I denne delen gir jeg en oversikt over Git og beskriver hvordan den fungerer. Mot slutten av artikkelen presenterer jeg en gjennomgang av noen av de mer populære kommandoene for å hjelpe deg med å bli produktiv raskt. Dette er på ingen måte en uttømmende veiledning, men det skal hjelpe deg i gang.

Når programvareutviklere tenker på et versjonskontrollsystem (VCS), har vi en tendens til å tenke på et sentralt depot som vi vil bruke til å laste ned kildekoden, gjøre endringer lokalt og deretter sende endringene tilbake til det sentrale depotet. Git er litt annerledes. Det er en distribuert versjonskontroll systemet, noe som betyr at det egentlig ikke er et sentralt depot, men snarere flere kloner av repositorier. Så "master repository" finnes et eller annet sted (som i GitHub), men vi jobber lokalt med klonregister.

Gits distribuerte arkitektur gir en betydelig fordel over ikke-distribuerte versjonskontrollsystemer ved at utviklere kan lokalt sjekke inn og sjekke ut kode, opprette filialer og mer. For en større endring i en tradisjonell VCS, vil du opprette en personlig filial og sjekke koden i den grenen. Når du var ferdig med endringene dine, ville du slå den grenen sammen til hovedgrenen.

Distribuert versjonskontroll

Git endrer VC-paradigmet fordi du kan jobbe lokalt og slå sammen alle endringene i en entallforpliktelse (du kan beholde din lokale historie når du slår sammen, eller du kan kombinere alle endringene til en innsjekking). Så det sentrale depotet er ikke fulle av grener og dusinvis av historiske notater, men bare informasjon om funksjonsendringer som er gjort. I hovedsak bruker Git grener slik de var ment: å utvikle et nytt funksjonssett, å opprettholde en utgivelse eller å fikse feil knyttet til en utgivelse.

Når du installerer Git på din lokale maskin og "kloner" et depot, mottar du hele depotet, inkludert historisk informasjon om all kildekoden i prosjektet. Deretter jobber du mot det lokale depotet, legger til nye filer, fjerner filer og endrer filer i et mellomlagringsmiljø til du faktisk forplikter dem til det lokale depotet. Git opprettholder versjonsinformasjon om alle endringene dine, og du kan enkelt rulle tilbake til hvilket som helst punkt i historikken din. Til slutt, når du er klar, kan du synkronisere det lokale depotet med et eksternt.

Endringer synkroniseres til et eksternt lager via en trykk mens endringer i et eksternt arkiv synkroniseres med ditt lokale depot via en dra. Fordi du har en full klon av depotet lokalt, er du ikke begrenset til å bare jobbe mot det depotets hovedgren. Du kan opprette grener som inneholder endringene dine, og deretter enten skyve eller trekke dem etter behov.

Se Ressurser hvis du trenger en mer fullstendig introduksjon til Git. Jeg vil fokusere på GitHub resten av denne artikkelen.

Sosial koding med GitHub

Etter at du har opprettet en GitHub-konto, kan du begynne å følge arbeidet til andre programvareutviklere eller se på prosjekter som interesserer deg. Du kan finne personer eller prosjekter å følge ved å søke etter dem direkte; eller hvis du leter etter ideer, kan du bruke GitHubs "Explore" -funksjon for å finne prosjekter basert på din interesse. Utforsk GitHub viser populære så vel som utvalgte repositorier. I tillegg til disse kan du utforske alle arkiver ved å klikke på "Repositories" -knappen på verktøylinjen. Hvis du vil søke etter prosjekter kodet i et bestemt programmeringsspråk, kan du klikke "Språk" på verktøylinjen og deretter velge språket du vil utforske. Figur 1 viser de mest settte (dvs. trendige) Java-arkivene på dette tidspunktet.

Storm var det mest settte Java-arkivet på GitHub på den tiden jeg sjekket. Når du har funnet et prosjekt du er interessert i, klikker du på det for å se alternativet "Se", som vist i figur 2.

Hvis du klikker "Se", abonnerer du på å følge prosjektet og vil kunne se endringer som er gjort på det på GitHub-hjemmesiden. Figur 3 viser GitHub-hjemmesiden min, som inneholder en liste over oppdateringer til forskjellige vårprosjekter.

Å følge individuelle utviklere fungerer på samme måte som å følge prosjekter. For eksempel bestemte jeg meg for nylig å følge min venn Tom Akehurst, som vist i figur 4.

Fra et sosialt perspektiv gir GitHub deg muligheten til å enkelt finne utviklere og prosjekter som du kan være interessert i, og motta oppdateringer om dem. Selvfølgelig er baksiden også sant: GitHub er et utmerket sted å vise frem arbeidet ditt og få tilbakemelding og anerkjennelse fra jevnaldrende.

Bruker GitHub for prosjektoppdateringer og vedlikehold

Husk at hoveddriveren bak GitHub er å fremme utviklingen av open source programvareprosjekter. Så hvis du har bygget noe bra, hvorfor ikke bidra med koden din til GitHub og gjøre den fritt tilgjengelig for verden?

Du kan opprette et nytt lager fra GitHub-nettstedet eller fra klientprogrammet på skrivebordet. I denne delen går vi først gjennom å lage et lager fra nettstedet, så viser jeg deg hvordan du oppdaterer og forplikter en fil via kommandolinjen.

Sette opp et GitHub-arkiv

Forutsatt at du har en konto satt opp, logger du på og du ser noe som ligner på det som er vist i figur 5. Klikk på "Opprett et lager", og du blir guidet gjennom prosessen. Først klikker du på det første elementet i verktøylinjen øverst til høyre, "Opprett en ny repo."

Klikk på lenken og gi depotet ditt et navn og en beskrivelse. Jeg opprettet et nytt depot for å være vert for GeekCap-verktøyene mine, som er et sett med hjelperklasser som inkluderer sorteringsalgoritmer og en om-sorterbar liste, en klasse som enkelt trekker ut ikoner fra Java Look-and-Feel Graphics Repository, ZIP-verktøy og mer. Selv om det ikke var det kuleste prosjektet, inkluderte jeg det fordi de fleste av mine andre prosjekter bruker ett eller flere av disse verktøyene, så det er bra å ha dem lagret på et tilgjengelig sted. Jeg kalte prosjektet mitt geek-util og ga den en beskrivelse: "Geekcap Utilities: nyttige klasser som brukes av andre Geekcap.com-prosjekter."

Når prosjektet er konfigurert, bør du se en skjerm som den som vises i figur 6.

Figur 6. Depot opprettet (klikk for å forstørre)

Skjermbildet i figur 6 viser en liste over hva du kan gjøre med det nye depotet ditt, samt et eksempel på å lage et LES LES filen og skyver den inn i depotet ditt. Jeg har et eksisterende Maven-prosjekt som jeg trenger å legge til for første gang, så jeg begynner med å legge til mitt pom.xml fil og min src katalog. Nedenfor er Git-kommandoene jeg skrev inn for den første skyvingen av prosjektet til depotet:

Oppføring 1. Git-kommandoer for å opprette et depot

git init git add src git add pom.xml git commit -m 'Initial commit' git remote add origin //github.com/geekcap/geek-util.git git push -u origin master

Her er kjennskap til Git viktig hvis du vil bruke GitHub. Heldigvis er de viktigste Git-kommandoene relativt intuitive:

  • git init oppretter et tomt Git-arkiv. Spesielt skaper dette .git katalog, som git kommando vil gjenkjenne som et depot.
  • git add legger til filer i depotet; i dette tilfellet la jeg til min pom.xml og min src katalog.
  • git begå forplikter endringer i depotet. Alt jeg gjorde var å legge til pom.xml fil og src katalog. Du vil også bruke denne kommandoen etter å ha endret innholdet i en fil eller slettet filer via git rm kommando.
  • git remote legg til opprinnelse legger til den angitte URL-en som opprinnelsesserver for Git-depotet. Som du så i figur 6, ble opprinnelsesserver er opprettet på GitHub for deg, og URL-en er gitt i installasjonsdokumentasjonen.
  • git push laster opp alle forpliktede endringer til den angitte serveren. I dette tilfellet har jeg presset den første forpliktelsen som inneholder pom.xml og src katalogen til originalserveren, som jeg tidligere har satt.

Du kan bruke Git fra IDE eller fra kommandolinjen; Jeg er tilfeldigvis en kommandolinje. Utfører git hjelp viser de vanligste kommandoene, som er oppsummert i liste 2.

$config[zx-auto] not found$config[zx-overlay] not found