Programiranje

Odprtokodni projekti Java: GitHub

Če ste bili radovedni glede GitHub-a, potem ta kratka vadnica v Odprtokodni projekti Java serija je za vas. Pridobite pregled repozitorija izvorne kode, ki je spremenil način dela mnogih razvijalcev, tako individualno kot v sodelovanju. Nato preizkusite GitHub zase in uporabite običajne ukaze Git za razvejanje in urejanje lastnega odprtokodnega projekta.

GitHub je spletno mesto za socialno kodiranje in storitev gostovanja z izvorno kodo, ki uporablja Git kot svoj sistem za nadzor različic. GitHub, ustanovljen leta 2008, ima že skoraj 1,7 milijona ljudi, ki gostijo skoraj 3 milijone skladišč. Tako kot večina družabnih omrežij tudi GitHub omogoča uporabnikom, da ustvarjajo in spremljajo vire, povezane s projekti drugih. Prav tako razširja socialno paradigmo tako, da vključuje mrežne grafe, ki prikazujejo uporabo skladišča. O GitHubu lahko razmišljate kot o družbenem omrežju, a la Facebook, ampak samo za razvijalce programske opreme.

GitHub želi združiti družbene elemente z brezplačnim skladiščem za gostovanje odprtokodnih projektov in si prizadeva gojiti podporno in aktivno skupnost za izboljšanje industrije programske opreme. Bolj kot je projekt aktiven, več ljudi ga bo našlo in upamo, da bodo k njemu prispevali. GitHub ponuja tudi podporo komercialnim projektom po nominalnih stroških.

Poleg sledenja projektom GitHub omogoča uporabnikom tudi spremljanje posameznih razvijalcev programske opreme. Tako lahko enostavno spremljate, kaj počnejo prijatelji in sodelavci, pregledate njihovo kodo, poiščete znane programerje in spremljate njihovo delo. Redno posodabljan vir predstavlja priložnost za gledanje nekoga, ki vadi svojo obrt. Razvijalci se lahko veliko naučijo iz medsebojnega preučevanja kode in metodologije; na primer, če lahko vidite, katero kodo drugi razvijalci spodbujajo k svojim projektom, in kdaj je to odličen način za učenje na visoki ravni o razvojnem ciklu izdaje.

Sledite zgodbi na JavaWorldu

  • Zakaj razvijalci za nadzor različic izberejo Git
  • Ko postane forking norma, se pripravite na GitHub
  • GitHub dobi 100 milijonov dolarjev naložbe

Socialno kodiranje z GitHub omogoča razvijalcem, da se na nov način učijo med seboj, medtem ko shranjujejo in posodabljajo kodo s pomočjo priljubljenega, dobro predstavljenega sistema za nadzor različic. V tej izdaji Odprtokodni projekti Java Pomagal vam bom začeti uporabljati GitHub. Najprej bom zagotovil pregled platforme, nato pa predstavil nekaj osnov Gita, vključno z možnostmi ukazne vrstice, ki jih boste pogosto uporabljali v GitHubu. Končno se bom sprehodila skozi preprosto razl-do-zavezati primer, ki prikazuje vsakodnevno moč tega porazdeljenega skladišča kode.

Začnite z GitHubom

Računi GitHub so različnih okusov, razvrščeni po posameznih ali komercialnih računih ter po javnih ali zasebnih skladiščih. Odprtokodni razvijalci imajo dovoljeno neomejeno število javnih skladišč ali pa se za majhno plačilo lahko odločijo za gostovanje med petimi in 20 zasebnimi skladišči. Komercialni razvijalci plačajo več (približno dvakrat toliko kot odprtokodni razvijalci od tega pisanja) in lahko dosežejo do 125 zasebnih skladišč. Za popoln seznam načrtov in cen obiščite domačo stran GitHub.

Za nadaljevanje tega članka boste potrebovali račun GitHub. Pojdite na spletno mesto GitHub in kliknite povezavo za prijavo in ceno na vrhu strani. Kliknite »Ustvari brezplačen račun« in zaključite postopek ustvarjanja računa.

Če želite navodila za namestitev operacijskega sistema, si oglejte vadnico GitHub. Upoštevajte, da namestitveni postopek samodejno namesti odjemalca GUI in vas pozove, da ročno namestite orodja ukazne vrstice GitHub. Priporočam, da izberete to možnost, če želite kdaj kaj hitro storiti v ukazni vrstici.

Git: Primer

Za učinkovito uporabo GitHub-a boste morali vsaj nekoliko poznati Git. Za večino gekov je zanimivo, da je Git zasnoval in razvil Linus Torvalds, ustanovitelj Linuxa. V tem poglavju podajam pregled Gita in opisujem njegovo delovanje. Proti koncu članka predstavljam pregled nekaj bolj priljubljenih ukazov, s pomočjo katerih boste hitro postali produktivni. To nikakor ni izčrpna vadnica, vendar bi vam morala pomagati pri začetku.

Ko razvijalci programske opreme razmišljajo o sistemu za nadzor različic (VCS), ponavadi pomislimo na osrednje repozitorij, ki ga bomo uporabili za prenos izvorne kode, izvajanje sprememb lokalno in nato spremembe predložili nazaj v osrednje repozitorij. Git je malo drugačen. Je porazdeljeni nadzor različic sistem, kar pomeni, da v resnici ni osrednje repozitorij, temveč gre za več klonov skladišč. Torej, "glavno repozitorij" nekje obstaja (na primer v GitHubu), vendar lokalno delamo na klonskih skladiščih.

Gitova porazdeljena arhitektura zagotavlja znatno prednost pred nerazdeljenimi sistemi za nadzor različic, saj lahko razvijalci lokalno prijavljajo in odjavljajo kodo, ustvarjajo podružnice in še več. Za večjo spremembo v tradicionalnem VCS bi ustvarili osebno vejo in v to vejo preverili kodo. Ko ste končali s spremembami, bi to vejo združili v glavno vejo.

Porazdeljen nadzor različic

Git spremeni paradigmo VC, ker lahko delate lokalno in združite vse spremembe v edinstveni objavi (lokalno zgodovino lahko obdržite ob združitvi ali pa vse spremembe združite v eno prijavo). Centralno skladišče torej ni polno vej in desetin zgodovinskih zapiskov, temveč le informacije o izvedenih spremembah lastnosti. V bistvu Git uporablja podružnice, kot so bile predvidene: za razvoj novega nabora funkcij, vzdrževanje izdaje ali odpravljanje napak, povezanih z izdajo.

Ko Git namestite na vaš lokalni računalnik in "klonirate" repozitorij, prejmete celotno repozitorij, vključno z zgodovinskimi informacijami o celotni izvorni kodi v projektu. Nato delate proti lokalnemu repozitoriju, dodajate nove datoteke, odstranjujete datoteke in spreminjate datoteke v pripravljalnem okolju, dokler jih dejansko ne dodelite lokalnemu repozitoriju. Git vzdržuje informacije o različicah o vseh vaših spremembah, zato se lahko enostavno vrnete na katero koli točko v svoji zgodovini. Ko ste pripravljeni, lahko lokalno repozitorij sinhronizirate z oddaljenim.

Spremembe se sinhronizirajo z oddaljenim skladiščem prek a potisnite medtem ko se spremembe v oddaljenem repozitoriju sinhronizirajo z lokalnim repozitoriju prek a potegnite. Ker imate lokalno popoln klon skladišča, niste omejeni na to, da preprosto delate proti glavni veji tega skladišča. Ustvarite lahko veje, ki vsebujejo vaše spremembe in jih nato potisnete ali povlečete, kot je primerno.

Glejte Vire, če potrebujete popolnejši uvod v Git. Preostanek tega članka se bom osredotočil na GitHub.

Socialno kodiranje z GitHubom

Ko ustvarite račun GitHub, lahko začnete spremljati delo drugih razvijalcev programske opreme ali gledati projekte, ki vas zanimajo. Z neposrednim iskanjem najdete ljudi ali projekte, ki jim želite slediti; ali če iščete ideje, lahko s pomočjo GitHub-ove funkcije »Raziskovanje« poiščete projekte glede na vaše zanimanje. Explore GitHub prikaže tako priljubljena, kot tudi predstavljena skladišča. Poleg teh lahko vse repozitorije raziščete s klikom na gumb "Repozitoriji" v orodni vrstici. Če želite iskati projekte, kodirane v določenem programskem jeziku, lahko v orodni vrstici kliknete "Jeziki" in nato izberete jezik, ki ga želite raziskati. Slika 1 prikazuje najbolj gledane (tj. Trendne) repozitorije Java v času pisanja tega članka.

Storm je bilo najbolj gledano skladišče Java na GitHubu v času, ko sem preveril. Ko najdete projekt, ki vas zanima, kliknite nanj in prikazala se bo možnost »Watch«, kot je prikazano na sliki 2.

Če kliknete "Watch", boste naročeni na spremljanje projekta in si boste lahko ogledali spremembe, ki ste jih naredili na svoji domači strani GitHub. Slika 3 prikazuje mojo domačo stran GitHub, ki vsebuje seznam posodobitev različnih spomladanskih projektov.

Sledenje posameznim razvijalcem deluje enako kot naslednji projekti. Na primer, pred kratkim sem se odločil slediti svojemu prijatelju Tomu Akehurstu, kot je prikazano na sliki 4.

Z družbene perspektive vam GitHub omogoča enostavno iskanje razvijalcev in projektov, ki bi vas morda zanimali, ter prejemanje posodobitev o njih. Seveda velja tudi druga stran: GitHub je odličen kraj za razkazovanje svojega dela ter pridobivanje povratnih informacij in priznanj vrstnikov.

Uporaba GitHub za posodobitve in vzdrževanje projektov

Ne pozabite, da je glavno gonilo GitHub-a spodbujanje razvoja odprtokodnih programov. Če ste torej ustvarili nekaj dobrega, zakaj ne bi prispevali svoje kode v GitHub in jo dali na voljo svetu?

Novo repozitorij lahko ustvarite na spletnem mestu GitHub ali v odjemalski aplikaciji na namizju. V tem razdelku se bomo najprej sprehodili po ustvarjanju repozitorija s spletnega mesta, nato pa vam bomo pokazali, kako posodobite in dodelite datoteko prek ukazne vrstice.

Nastavitev skladišča GitHub

Ob predpostavki, da imate nastavljen račun, se prijavite in videli boste nekaj podobnega tistemu, ki je prikazano na sliki 5. Kliknite "Ustvari skladišče" in vodili vas bodo skozi postopek. Najprej boste kliknili prvi element v zgornji desni orodni vrstici »Ustvari novo repo«.

Kliknite to povezavo in svojemu repozitoriju dajte ime in opis. Ustvaril sem novo repozitorij za gostovanje svojih pripomočkov GeekCap, ki je nabor pomožnih razredov, ki vključujejo algoritme za razvrščanje in seznam, ki ga je mogoče ponovno razvrstiti, razred, ki zlahka izvleče ikone iz repozitorija Java Look-and-Feel Graphics, pripomočkov ZIP in več. Čeprav ni najbolj kul projekt, sem ga vključil, ker večina mojih drugih projektov uporablja enega ali več teh pripomočkov, zato jih je dobro shraniti na dostopnem mestu. Poimenoval sem svoj projekt geek-util in mu dal opis: "Pripomočki Geekcap: koristni razredi, ki jih uporabljajo drugi projekti Geekcap.com."

Ko je projekt nastavljen, se prikaže zaslon, kot je prikazan na sliki 6.

Slika 6. Ustvarjeno skladišče (kliknite za povečavo)

Posnetek zaslona na sliki 6 prikazuje seznam, kaj lahko naredite z novim skladiščem, in primer ustvarjanja datoteke PREBERI datoteko in jo potisnite v svoje skladišče. Imam obstoječi projekt Maven, ki ga moram dodati prvič, zato začnem z dodajanjem svojega pom.xml datoteko in mojo src imenik. Spodaj so ukazi Git, ki sem jih vnesel za prvo potiskanje projekta v repozitorij:

Seznam 1. Ukazi Git za ustvarjanje repozitorija

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

Tukaj je poznavanje Gita pomembno, če želite uporabljati GitHub. Na srečo so glavni ukazi Git razmeroma intuitivni:

  • git init ustvari prazen repozitorij Git. To natančneje ustvarja .git imenik, ki ga git ukaz prepozna kot odlagališče.
  • git add doda datoteke v repozitorij; v tem primeru sem dodal svoj pom.xml in moj src imenik.
  • git commit opravi spremembe v repozitoriju. Vse, kar sem naredil, je bilo dodati pom.xml datoteko in src imenik. Ta ukaz bi uporabili tudi po spreminjanju vsebine datoteke ali brisanju datotek prek git rm ukaz.
  • git remote dodaj izvor doda navedeni URL kot izvorni strežnik za skladišče Git. Kot ste videli na sliki 6, izvorni strežnik je na GitHub ustvarjen za vas, URL pa je naveden v nastavitveni dokumentaciji.
  • git push naloži vse predane spremembe na navedeni strežnik. V tem primeru sem potisnil začetno objavo, ki vsebuje pom.xml in src na izvorni strežnik, ki sem ga predhodno nastavil.

Git lahko uporabljate iz IDE-ja ali iz ukazne vrstice; Slučajno sem odvisnik od ukazne vrstice. Izvršitev git pomoč prikazuje najpogostejše ukaze, ki so povzeti v seznamu 2.

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