GitHub ir tīmekļa vietne un mākoņa pakalpojums, kas palīdz izstrādātājiem saglabāt un pārvaldīt savu kodu, kā arī izsekot un kontrolēt izmaiņas savā kodā.
GitHub
Lai saprastu GitHub, vispirms jums ir jāsaprot Git. Git ir atvērtā pirmkoda versiju kontroles sistēma, kuru uzsāka Linus Trovalds – tā pati persona, kas izveidoja Linux. Git ir līdzīgs citām versiju kontroles sistēmām – Subversion, CVS un Mercurial.
Tātad, Git ir versiju kontroles sistēma, bet ko tas nozīmē? Kad izstrādātāji izveido kaut ko (piemēram, lietotni), tie pastāvīgi maina kodu, izveidojot jaunas versijas līdz pirmajai oficiālajai izlaišanai.
Versiju kontroles sistēmas saglabā šīs korekcijas, saglabājot modifikācijas centrālajā repozitorijā. Tas ļauj izstrādātājiem viegli sadarboties, jo viņi var lejupielādēt jaunu programmatūras versiju, veikt izmaiņas un augšupielādēt jaunāko versiju. Katrs izstrādātājs var redzēt šīs jaunās izmaiņas, tos lejupielādēt un sniegt savu ieguldījumu. Tāpat cilvēki, kuriem nav nekāda sakara ar projekta izstrādi, var lejupielādēt failus un tos izmantot.
Git ir lielākā daļa izstrādātāju vēlamā versiju kontroles sistēma, jo tai ir vairākas priekšrocības salīdzinājumā ar citām pieejamajām sistēmām. Tas efektīvāk saglabā failu izmaiņas un nodrošina labāku failu integritāti. Ja jūs vēlaties uzzināt informāciju, Git lapā ir skaidrojums par to, kā darbojas Git.
Esam noskaidrojuši, ka Git ir versiju kontroles sistēma, kas ir līdzīga, bet labāka par daudzām pieejamajām alternatīvām. Tātad, kas padara GitHub tik īpašu? Git ir komandrindas rīks, bet visas lietas, kas saistītas ar Git rotāciju, ir centrs – GitHub.com – kur izstrādātāji glabā savus projektus un veido tīklus ar līdzīgi domājošiem cilvēkiem.
Uzskaitīsim dažus galvenos iemeslus, kāpēc daudziem patīk izmantot GitHub:
- Repozitorijs – Repozitorijs (parasti saīsināts ar „repo”) ir vieta, kur tiek glabāti visi konkrētā projekta faili. Katram projektam ir savs repozitorijs, un jūs varat piekļūt tam ar unikālu URL.
- Repo atgriešana – kad izveidojat jaunu projektu, kura pamatā ir cits jau eksistējošs projekts. Šī ir pārsteidzoša iezīme, kas ievērojami veicina programmu un citu projektu turpmāku attīstību. Ja jūs atradīsiet projektu GitHub, kuru vēlaties pievienot, varat izvilkt repo, veikt vajadzīgās izmaiņas un atbrīvot pārskatīto projektu kā jaunu repo. Ja tiek atjaunināts oriģinālais repozitorijs, kuru veidojāt, lai izveidotu savu jauno projektu, jūs varat viegli pievienot šos atjauninājumus pašreizējam projektam.
- Pull Requests – jūs esat izveidojis repozitoriju, veicis lielu projekta pārskatīšanu un vēlaties, lai to atzītu sākotnējie izstrādātāji un varbūt pat pievienot oficiālajam projektam. To var izdarīt, izveidojot vilkšanas pieprasījumu. Sākotnējā repozitorija autori var redzēt jūsu darbu un pēc tam izvēlēties, vai to pieņemt oficiālajā projektā. Ikreiz, kad iesniedzat pieprasījumu, GitHub nodrošina, lai jūs un galvenais projekta uzturētājs varētu ar jums sazināties.
- Sociālais tīkls – GitHub sociālā tīkla aspekts, iespējams, ir visspēcīgākais līdzeklis, kas ļauj projektiem augt vairāk nekā jebkuras citas piedāvātās funkcijas. Katram GitHub lietotājam ir savs profils, kas parāda jūsu iepriekšējo darbu un ieguldījumu citos projektos, izmantojot vilkšanas pieprasījumus. Projekta pārskatīšanu var apspriest publiski, tāpēc ekspertu masa var sniegt zināšanas un sadarboties, lai virzītu uz priekšu projekta izstrādi.
- Changelogs – Ja projektā sadarbojas vairāki cilvēki, ir grūti sekot izmaiņām, ko un kurš ir labojis kādu failu, un kur šie faili tiek glabāti. GitHub rūpējas par šo problēmu, sekojot visām izmaiņām, kas ir nospiestas uz repozitoriju.
GitHub nav tikai izstrādātājiem
Daudzi noteikti domā, ka GitHub ir ideāli piemērots programmētājiem, iespējams, domājat, ka viņi ir vienīgie, kas izmanto GitHub. Lai gan tā nemaz nav, jūs faktiski varat izmantot GitHub, lai rakstītu pat grāmatu. Ja jums ir komanda, kas nepārtraukti maina Word dokumentu, jūs arī varat izmantot GitHub kā versiju kontroles sistēmu.
Vai kāds no Jums arī izmanto GitHub vai kādu citu alternatīvu versijas kontroles sistēmu?