„Git vs Github“ - skirtumų demistifikavimas



Šiame tinklaraštyje „Git vs GitHub“ kalbama apie pagrindinius populiariausios VCS, „Git“ ir jos prieglobos svetainės „GitHub“ skirtumus.

Jei dirbote su kodais, turite susidurti su tokiais žodžiais kaip „Git“ ir „GitHub“. Taip pat gali būti, kad ir jūs juos naudojote. Bet ar žinote, kas tiksliai yra „Git“ ar „GitHub“ ir kuo jie skiriasi vienas nuo kito? Na, jei to nepadarėte, nesijaudinkite! Niekada nevėlu išmokti naujų dalykų ir šiuo atveju nėra taip sunku. Perskaitykite šį tinklaraštį „Git vs GitHub“, kuriame aš jums pateiksiu išsamų abiejų supratimą. Galiu jus patikinti, kol sukursite šį „Git vs GitHub“ tinklaraštį, jūs aiškiai suprasite abi technologijas.

Toliau pateikiamos temos, kurias aptarsiu šiame „Git Vs GitHub“ tinklaraštyje:





Versijų valdymas - „Git“ ir „GitHub“

Norėdami suprasti tikslų „git“ ir „GitHub“ skirtumą, pirmiausia turite žinoti apie versijų valdymą. Taigi, ką jūs suprantate pagal versijos valdymo terminą?

Terminas „Versijų valdymas“ reiškia sistemą, kuri laikui bėgant fiksuoja failo ar rinkinio pakeitimus, vadinamus „versijomis“. Kitaip tariant, šios versijos padės jums sekti savo kodų / projekto pokyčius ir prireikus tuos pakeitimus taip pat anuliuoti. Ši galimybė palyginti, diferencijuoti ir grąžinti dviejų konkretaus projekto versijų pakeitimus tampa tikrai naudinga dirbant prie didesnio projekto. Didesni projektai reiškia, kad daugiau žmonių dirba pagal tą patį kodą, o tai padidina konfliktų tikimybę. Naudodami versijų valdymą galite lengvai išvengti šių konfliktų.



Ši sistema, valdanti kodų versijas, vadinama Versijų valdymo sistema (VCS). Norėdami gauti geresnį vaizdą, galite tai laikyti „duomenų baze“. Šioje duomenų bazėje VCS nufotografuoja visą jūsų projektą ir saugo juos kaip versijas. Dabar, naudodamiesi šiomis nuotraukomis, galite lengvai palyginti versijas ir perjungti jas pagal poreikį. Peržiūrėkite žemiau pateiktą paveikslėlį, kuriame parodytas visas procesas:

VCS - „Git“ prieš „GitHub“ - „Edureka“



Manau, kad dabar jūs aiškiai suprantate versijų valdymo sampratą. Norėčiau čia paminėti vieną dalyką: nesupainiokite tarp VCS ir atsarginės kopijos / diegimo sistemos. Šis VCS visiškai pašalina poreikį keisti arba pakeisti įrankių grandinę, skirtingai nei atsarginės sistemos. Žemiau aš išvardijau keletą versijų valdymo pranašumų:

  • Versijų valdymas sukuria tinkamas darbo eigas, kurios padeda užkirsti kelią chaosui tarp žmonių, kurie naudoja savo kūrimo procesą su skirtingomis ir nesuderinamomis priemonėmis.
  • Kiekvienoje versijoje yra aprašymas, kokie yra šios versijos pakeitimai. Šie aprašymai padeda sekti kodo pokyčius pagal versiją.
  • VCS sinchronizuoja versijas ir užtikrina, kad jūsų pakeitimai neprieštarautų kitiems, naudojantiems tą pačią saugyklą.
  • VCS padeda išsaugoti pakeitimų istoriją, nes kiti žmonės išsaugo naujas jūsų kodo versijas. Šią istoriją galima peržiūrėti ir sužinoti, kas, kodėl ir kada buvo atliktas pakeitimas.
  • VCS automatikos funkcijos taupo jūsų, taip pat ir jūsų komandos laiką, ir generuoja nuoseklius rezultatus atlikdami bandymus, kodų analizę ir diegimą, kai tik išsaugomos naujos versijos.

Taigi dabar tęskime šį tinklaraštį „Git vs GitHub“ ir supraskime, kas iš tikrųjų yra „Git“.

Kas yra Git? - „Git“ ir „GitHub“

Dabar, kai žinote apie versijų valdymą, jums bus tikrai lengva suprasti apie „Git“. Taigi, kas yra Gitas?

išeiti iš programos java

„Git“ yra versijų valdymo programinė įranga, kurią turite įdiegti vietinėje sistemoje, kad galėtumėte ja naudotis. Vien asmeniui, dirbančiam tik su projektu, „Git“ pasirodo esanti puiki programinė įranga. Bet ką daryti, jei dirbate projekte su didele komanda. Visi dirbs prie to paties projekto, bet kiekvienas turėsite skirtingą to paties projekto versiją. Tarkime, kad pakeitėte projekto katalogą savo kompiuteryje ir norite juos išsiųsti savo bendradarbiams. Be to, norite, kad jų atlikti pakeitimai būtų rodomi tiesiogiai jūsų mašinos projektų kataloge. Dirbant projekte labai svarbu būti tame pačiame puslapyje su komandos draugais, kad būtų išvengta bet kokio tipo konfliktų. Taigi, kaip tai padarysite? Na, nesijaudinkite, kad „Git“ rūpinasi visais, bet vienintelė sąlyga yra ta, kad kiekvienas jūsų komandos narys turi turėti „Git“ įdiegtą savo sistemose.

Git taip pat žinomas kaippaskirstyta versijų valdymo sistema, o tai reiškia, kad naudodami „Git“ galite stumti ir trauktijūsų, kaip ir kitų, pakeitimai kitų žmonių mašinose:

Dabar naudodamiesi „Git“ galite dirbti su ta pačia kopija kaip ir jūsų komandos narys. Bet kopija, kurioje dirbsite, neatsispindės nė vieno pagrindinio katalogo pakeitimo, nebent ir kol nepakeisite bendradarbio pakeitimų ir neatstumsite savo pakeitimų.

Šiandienos rinkoje „Git“ yra plačiausiai ir populiariausiai naudojama šiuolaikinė VCS. Tai yra gana subrendęs ir yra gerai prižiūrimas atvirojo kodo projektas. Jį sukūrė dar 2005 m. Linusas Torvaldsas, kuris taip pat yra „Linux OS“ branduolio kūrėjas. Jei patikrinsite aukščiau pateiktą „Google“ tendencijų rezultato vaizdą, pastebėsite, kad „Git“ rinkoje toliau augo nuo 2005 m. Įvairus programinės įrangos projektų skaičius, įskaitant komercinius ir atviruosius šaltinius, visiškai priklauso nuo „Git“ valdant jų versijas. . Taigi, kuo „Git“ skiriasi nuo kitų, dėl ko jis toks populiarus?

Pagrindinis skirtumas tarp „Git“ ir visų kitų VCS, tokių kaip „Subversion“ (SVN), „Mercurial“, TFS, „Perforce“, „Bazaar“ ir kt., Yra tai, kaip „Git“ saugo savo duomenis. Kitose sistemose informacija saugoma kaip failais pagrįstų pakeitimų sąrašas, kuris taip pat žinomas kaip delta pagrindu versijos valdymas. Bet „Git“ atveju jis saugo savo duomenis miniatiūrinės failų sistemos momentinių vaizdų srautu. Naudojant „Git“, kiekvieną kartą, kai įsipareigojate ar išsaugote projekto būseną, padaroma dabartinės failo būsenos nuotrauka ir saugoma jos nuoroda. Jei pakeitimai ar atnaujinimai neatliekami, „Git“ išsaugo nuorodą į ankstesnį failą, kurį jis jau išsaugojo. Ši schema parodo, kaip „Git“ saugo versijas:

Bet „Git“ bus naudinga tik tada, kai žinosite, kada jūsų bendradarbio sistema įjungta ir prijungta prie tinklo. Taigi, ką veiksite, kai jūsų komandos nariai nebus prisijungę? Šiose situacijose pravers trečioji šalis, turinti identišką jūsų projekto kopiją, iš kurios galėsite lengvai stumti ir traukti pakeitimus.

Na, jums bus malonu tai žinoti. Štai ką daro „GitHub“, ir kitame šio tinklaraščio skyriuje apie „Git vs GitHub“ aš viską paaiškinsiu.

Kas yra „GitHub“? - „Git“ ir „GitHub“

Kaip pasakojo, „Git“ yra versijų valdymo sistema, stebinti pokyčius dirbant su kompiuterio kodais „GitHub“ yra žiniatinklio „Git“ versijų valdymo saugyklos prieglobos paslauga. Tai suteikia visas „Git“ paskirstytųjų versijų valdymo ir šaltinio kodo valdymo (SCM) funkcijas, papildydamas keletą savo funkcijų. Tai dangus kūrėjams, kur jie gali saugoti savo projektus ir užmegzti ryšį su bendraminčiais. Galite galvoti apie „debesį kodams“.

Taigi iš esmės tai yra vieta, kur saugoti identiškus veikiančius katalogus arbasaugyklos. Žodžiu, tai yra „Git“ saugyklų centras, kurį galite naudoti, tiesiog sukurdami nemokamą „GitHub“ paskyrą. Šiose sąskaitose yra daug vietos, kur galite saugoti savo saugyklas ir sukurti tinkamą profilį, kuris turi didelę vertę. Pagal numatytuosius nustatymus saugyklos yra viešos, t. Y. Visi gali matyti jūsų kodus, bet jūs galite juos padaryti ir privačius. Taigi, jei esate geras programuotojas, galite įkelti savo programas ir programas ir gauti kitų pripažinimą.

Tai veikia kartu su Gitu. Nors „Git“ yra komandinės eilutės įrankis, „GitHub“ yra žiniatinklio grafinė sąsaja, suteikianti prieigos valdymą, pagrindinius užduočių valdymo įrankius ir kelias bendradarbiavimo funkcijas. Be to, „GitHub“ gali talpinti jūsų projekto šaltinio kodus įvairiomis programavimo kalbomis ir sekti kiekvieną pakeitimą, padarytą kiekvienoje iteracijoje. „GitHub“ funkcionalumas čia nesibaigia. Tai suteikia šias 3 nepaprastas savybes, dėl kurių jis yra toks galingas:

klasės java pavyzdys
  1. šakutė: Arba paprastai žinomas kaip šakojimas yra saugyklos kopijavimas iš vieno vartotojo paskyros, kai neturite prieigos prie jos rašymo. Taigi galite tiesiog nukopijuoti ir modifikuoti savo sąskaitoje.
  2. traukti: Kai atliksite kodų pakeitimus, kuriuos nukopijavote, ir norite juos bendrinti pagal pradinę tvarką. Tada galite išsiųsti jiems pranešimą, vadinamą „traukimo užklausa“.
  3. eiti: Dabar naudotojas, kuris yra tų kodų savininkas, jei mano, kad jūsų pakeitimai yra aktualūs, tiesiog mygtuko paspaudimu gali sujungti pakeitimus, esančius jūsų atpirkimo operacijoje, su originalia atpirkimo komanda.

Jei savininkas priima jūsų prašymą, jūs gausite jo kreditą pradinėje svetainėje ir pasirodysite savo vartotojo profilyje. Tai savotiškas gyvenimo aprašymas, kuris padeda „GitHub“ projekto vykdytojui nustatyti jūsų reputaciją. Taigi, kuo daugiau žmonių ir projektų „GitHub“, tuo geresnė idėja, kurią projekto vykdytojas gauna iš galimų savo bendradarbių. Tai skatina jaunus kūrėjus ir projektus daugiau augti pramonėje.Tikiuosi, kad dabar jūs suprantate, kas yra Githubas. Taigi leiskite man dabar apibendrinti pagrindinius „Git“ ir „Github“ skirtumus.

„Git“ ir „GitHub“

1. Tai programinė įranga1. Tai paslauga
2. Jis sistemoje įdiegtas vietoje2. Jis priglobtas žiniatinklyje
3. Tai yra komandinės eilutės įrankis3. Tai suteikia grafinę sąsają
4. Tai įrankis valdyti įvairias redagavimų versijas, padarytas failuose „git“ saugykloje4. Tai yra vieta, kur galima įkelti kopiją Eik saugykla
5. Tai teikia tokias funkcijas kaip versijų valdymo sistemos šaltinio kodo valdymas5. Tai suteikia „Git“ funkcijas, tokias kaip VCS, „Source Code Management“, taip pat prideda keletą savo funkcijų
Tai užbaigia šį tinklaraštį „Git vs GitHub“. Tikiuosi, kad jums patiko skaityti šį tinklaraštį ir sužinoti ką nors naujo. Jei radote šį „Git vs GitHub“ tinklaraštis, aktualus, patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka DevOps“ sertifikavimo mokymo kursas padeda besimokantiesiems įgyti įvairių „DevOps“ procesų ir įrankių, tokių kaip „Lėlė“, „Jenkins“, „Nagios“ ir „GIT“, kelių automatizuotų SDLC žingsnių, patirties. Turite mums klausimą? Prašau paminėti tai komentarų skiltyje ir mes su jumis susisieksime.