Git vs Github - Pag-demystifying ng Mga Pagkakaiba



Pinag-uusapan ng blog na ito sa Git vs GitHub ang mga pangunahing pagkakaiba sa pagitan ng pinakatanyag na VCS, Git at ang hosting site na ito, ang GitHub.

Kung nagtrabaho ka sa mga code sa gayon dapat ay nahanap mo ang mga salitang tulad ng Git at GitHub. Posible rin na maaaring ginamit mo rin ang mga ito. Ngunit alam mo ba kung ano talaga ang Git o GitHub at kung paano sila magkakaiba sa bawat isa? Kaya, kung hindi mo gagawin, walang alalahanin! Hindi pa huli ang pagkatuto ng mga bagong bagay o ng matigas sa kasong ito. Basahin ang blog na ito sa Git vs GitHub, kung saan bibigyan kita ng isang kumpletong pananaw sa pareho. Tinitiyak ko sa iyo, sa oras na gawin mo ito laban sa GitHub blog magkakaroon ka ng isang malinaw na pag-unawa sa parehong mga teknolohiya.

Ang mga sumusunod ay ang mga paksang tatalakayin ko sa Git Vs GitHub blog na ito:





Kontrol sa Bersyon - Git vs GitHub

Upang maunawaan ang eksaktong pagkakaiba sa pagitan ng git at GitHub kailangan mo munang malaman ang tungkol sa kontrol sa bersyon. Kaya, ano ang naiintindihan mo sa term control ng bersyon?

Ang term control na Bersyon ay tumutukoy sa isang system na nagtatala ng mga pagbabago sa isang file o hanay ng mga file sa paglipas ng panahon na tinawag na 'mga bersyon'. Sa madaling salita, makakatulong sa iyo ang mga bersyon na ito sa pagsubaybay ng mga pagbabago sa iyong mga code / proyekto at kung kinakailangan, i-undo rin ang mga pagbabagong iyon. Ang tampok na ito na maihahambing, naiiba at ibalik ang mga pagbabago sa pagitan ng dalawang bersyon ng isang partikular na proyekto ay magiging talagang kapaki-pakinabang kapag nagtatrabaho sa isang mas malaking proyekto. Ang mga mas malalaking proyekto ay nangangahulugang mas maraming tao ang nagtatrabaho sa parehong code na nagdaragdag ng mga pagkakataong magkaroon ng hidwaan. Paggamit ng kontrol sa bersyon madali mong maiiwasan ang mga salungatan na ito.



Ang sistemang ito na kumokontrol sa pag-bersyon ng mga code ay tinatawag na isang Version Control System (VCS). Para sa isang mas mahusay na larawan, maaari mong isipin ito bilang isang 'database'. Sa loob ng database na ito, ang VCS ay kumukuha ng mga snapshot ng iyong buong proyekto at iniimbak ang mga ito bilang mga bersyon. Ngayon sa tulong ng mga snapshot na ito, madali mong ihinahambing ang mga bersyon at lumipat sa pagitan ng mga ito ayon sa pangangailangan. Suriin ang larawan sa ibaba na nagpapakita ng buong proseso:

VCS - Git vs GitHub - Edureka



Sa palagay ko ngayon malinaw mong naiintindihan ang konsepto ng kontrol sa bersyon. Ang isang bagay na nais kong banggitin dito ay, huwag malito sa pagitan ng isang VCS at isang sistema ng pag-backup / paglawak. Ganap na tinanggal ng VCS na ito ang pangangailangan para sa pagbabago o pagpapalit ng ganap na hindi katulad ng mga backup system. Sa ibaba ay nakalista ko ang ilan sa mga pakinabang ng paggamit ng kontrol sa bersyon:

  • Lumilikha ang pagkontrol sa bersyon ng wastong mga daloy ng trabaho na makakatulong sa pag-iwas sa kaguluhan sa mga tao gamit ang kanilang sariling proseso ng pag-unlad na may iba't ibang at hindi tugma na mga tool.
  • Ang bawat bersyon ay may isang paglalarawan ng kung ano ang mga pagbabago sa bersyon na ito ay tapos na. Ang mga paglalarawan na ito ay makakatulong sa pagsubaybay sa mga pagbabago sa code ayon sa bersyon.
  • Sinasabay ng VCS ang mga bersyon at tinitiyak na ang iyong mga pagbabago ay hindi sumasalungat sa iba na gumagamit ng parehong lalagyan.
  • Tumutulong ang VCS sa pagpapanatili ng kasaysayan ng mga pagbabago habang ang ibang mga tao ay nagse-save ng mga bagong bersyon ng iyong code. Ang kasaysayan na ito ay maaaring suriin upang malaman kung kanino, bakit, at kailan nagawa ang mga pagbabago.
  • Ang mga tampok sa pag-automate ng VCS ay nakakatipid sa iyo pati na rin ng oras ng iyong mga koponan at bumubuo ng pare-parehong mga resulta sa pamamagitan ng pagsasagawa ng pagsubok, pagtatasa ng code, at pag-deploy tuwing may anumang mga bagong bersyon na nai-save.

Kaya't magpatuloy tayo ngayon sa blog na ito sa Git vs GitHub at unawain kung ano talaga ang Git.

Ano ang Git? - Git vs GitHub

Ngayon na alam mo ang tungkol sa kontrol sa bersyon, magiging madali para sa iyo na maunawaan ang tungkol sa Git. Kaya, ano ang Git?

Ang Git ay isang software ng kontrol sa bersyon na kailangan mong i-install sa iyong lokal na system upang magamit ito. Para sa isang indibidwal na nagtatrabaho sa isang proyekto lamang, napatunayan ni Git na maging isang mahusay na software. Ngunit paano kung nagtatrabaho ka sa isang proyekto kasama ang isang malaking koponan. Ang lahat ay gagana sa parehong proyekto ngunit ang bawat isa sa iyo ay magkakaroon ng iba't ibang bersyon ng parehong proyekto. Ipagpalagay na nakagawa ka ng mga pagbabago sa direktoryo ng proyekto sa iyong makina at nais mong ipadala ang mga pagbabagong iyon sa iyong mga katuwang. Gayundin, nais mong lumitaw nang direkta ang mga pagbabagong ginagawa nila sa direktoryo ng proyekto ng iyong machine. Tulad ng pagtatrabaho sa isang proyekto, ang pagiging nasa parehong pahina kasama ang iyong mga kasamahan sa koponan ay napakahalaga upang maiwasan ang anumang uri ng salungatan. Kaya, paano mo gagawin iyon? Sa gayon, walang pagaalala ang pag-aalaga ni Git sa lahat ngunit ang nag-iisang kundisyon lamang dito ay, ang bawat isa sa mga kasapi ng iyong koponan ay dapat na naka-install ang Git sa kanilang mga system.

pagsamahin ang uri ng pag-uuri ng code c ++

Ang Git din ay kilala bilangipinamamahagi na sistema ng kontrol sa bersyon na nangangahulugang ang paggamit ng Git maaari mong itulak at hilahinsa iyo pati na rin sa iba ang mga pagbabago sa machine ng ibang tao:

Ngayon, gamit ang Git maaari kang gumana sa parehong kopya ng miyembro ng iyong koponan. Ngunit ang kopya kung saan ka magtatrabaho, ay hindi magpapakita ng anuman sa mga pagbabago sa pangunahing direktoryo maliban at hanggang sa hilahin mo ang mga pagbabago ng iyong kasama at itulak ang iyong sariling mga pagbabago.

Sa merkado ngayon, ang Git ay ang pinakalawak at sikat na ginagamit na modernong VCS. Medyo matured ito at mahusay na pinapanatili ang proyektong bukas na mapagkukunan. Ito ay binuo noong 2005, ni Linus Torvalds na tagalikha rin ng kernel ng Linux OS. Kung susuriin mo ang larawan sa itaas ng resulta ng mga uso sa Google, mahahanap mo na ang Git ay patuloy na lumalaki sa merkado mula pa noong 2005. Ang magkakaibang bilang ng mga proyekto sa software, kabilang ang komersyal pati na rin ang bukas na mapagkukunan, na ganap na umaasa sa Git para sa kanilang kontrol sa bersyon . Kaya, paano naiiba ang Git mula sa iba pa na ginagawang tanyag nito?

Ang pangunahing pagkakaiba sa pagitan ng Git at anumang iba pang VCS tulad ng Subversion (SVN), Mercurial, TFS, Perforce, Bazaar atbp, ay ang paraan ng pag-iimbak ng Git ng data nito. Sa iba pang mga system, ang impormasyon ay nakaimbak bilang isang listahan ng mga pagbabago na nakabatay sa file na kilala rin bilang batay sa delta kontrol sa bersyon. Ngunit sa kaso ng Git, iniimbak nito ang data nito sa anyo ng isang stream ng mga snapshot ng isang maliit na filesystem. Sa Git, tuwing gumawa ka o nai-save ang estado ng iyong proyekto, isang snapshot ay kinukuha ng kasalukuyang estado ng file at isang sanggunian ay nakaimbak para dito. Kung walang mga pagbabago o update na nagawa pagkatapos ay nag-iimbak ang Git ng isang link sa nakaraang file na naimbak na nito. Ipinapakita ng sumusunod na diagram kung paano iniimbak ng Git ang mga bersyon:

Ngunit magiging kapaki-pakinabang lamang ang Git kapag alam mo kung kailan naka-on ang system ng iyong nakikipagtulungan at nakakonekta sa isang network. Kaya ano ang gagawin mo kapag ang mga kasapi ng iyong koponan ay hindi online? Sa mga sitwasyong ito, ang isang third party na magkakaroon ng magkatulad na kopya ng iyong proyekto, mula sa kung saan madali mong maitulak at hilahin ang mga pagbabago, ay madaling magamit.

Sa gayon, ikalulugod mong malaman na, ito ang ginagawa ng GitHub at sa susunod na seksyon ng blog na ito sa Git vs GitHub, ipapaliwanag ko ang lahat tungkol dito.

Ano ang GitHub? - Git vs GitHub

Tulad ng sinabi, ang Git ay isang sistema ng kontrol sa bersyon na sumusubaybay sa mga pagbabago kapag nagtatrabaho kasama ang mga computer code habang GitHub ay isang serbisyo sa pag-host ng repository control na batay sa Web sa Git. Nagbibigay ito ng lahat ng ipinamamahagi na kontrol sa bersyon at pag-andar ng source code (SCM) na pag-andar ng Git habang pinupunan ito ng ilang sariling mga tampok. Ito ay isang langit para sa mga tagabuo kung saan maiimbak nila ang kanilang mga proyekto at makakonekta sa mga taong may pag-iisip. Maaari mong isipin ito bilang 'ulap para sa mga code'.

Kaya karaniwang ito ay isang lugar upang maiimbak ang iyong magkaparehong mga direktoryo sa pagtatrabaho omga repository. Ito ay literal na isang hub para sa mga repositoryang Git na maaari mong gamitin, sa pamamagitan lamang ng paglikha ng isang libreng account sa GitHub. Ang mga account na ito ay may kasamang masaganang puwang ng imbakan kung saan maaari mong iimbak ang iyong mga repository at bumuo ng isang tamang profile na nagtataglay ng isang mahusay na halaga. Bilang default ang mga repository ay pampubliko ibig sabihin, makikita ng lahat ang iyong mga code ngunit maaari mo ring gawing pribado ito. Kaya't kung ikaw ay isang mahusay na coder maaari kang mag-upload ng iyong sariling mga application at programa at makakuha ng pagkilala mula sa iba.

Gumagana ito kasama ang pakikipagtulungan ng Git. Habang ang Git ay isang tool ng linya ng utos, ang GitHub ay isang interface na grapikong batay sa Web na nagbibigay sa iyo ng kontrol sa pag-access, pangunahing mga tool sa pamamahala ng gawain kasama ang maraming mga tampok sa pakikipagtulungan. Bukod dito, maaaring mag-host ang GitHub ng mga source code ng iyong proyekto sa iba't ibang mga wika sa pagprograma at subaybayan ang bawat isa sa mga pagbabagong ginawa sa bawat pag-ulit. Ang pag-andar ng GitHub ay hindi nagtatapos dito. Nagbibigay ito ng pagsunod sa 3 hindi pangkaraniwang mga tampok na ginagawang napakalakas:

  1. tinidor: O karaniwang kilala bilang forking ay pagkopya ng isang lalagyan mula sa account ng isang gumagamit kapag wala kang access sa pagsulat dito. Kaya maaari mo lamang itong kopyahin at baguhin ito sa ilalim ng iyong sariling account.
  2. hilahin: Kapag nagawa mo ang mga pagbabago sa mga code na nakopya mo at nais mong ibahagi ang mga ito sa orihinal na pagkakasunud-sunod. Pagkatapos ay maaari kang magpadala ng isang abiso na tinawag na isang 'humiling ng kahilingan' sa kanila.
  3. go: Ngayon ang gumagamit na may-ari ng mga code na iyon, kung, ay nahahanap ang iyong mga pagbabago na may kaugnayan ay maaaring pagsamahin ang mga pagbabagong matatagpuan sa iyong repo sa orihinal na repo, sa pamamagitan lamang ng pag-click sa pindutan.

Kung ang iyong kahilingan sa paghila ay tinanggap ng may-ari pagkatapos ay makakakuha ka ng kredito sa orihinal na site at lalabas sa iyong profile ng gumagamit. Ito ay isang uri ng isang resume na makakatulong sa nagpapanatili ng proyekto ng GitHub upang matukoy ang iyong reputasyon. Kaya, mas maraming mga tao at proyekto sa GitHub, mas mahusay na ideya na makukuha ng isang nagpapanatili ng proyekto ng mga potensyal na nagbibigay. Hinihikayat nito ang mga batang developer at proyekto na higit na lumago sa industriya.Sana maintindihan mo ngayon kung ano ang Github. Kaya't hayaan mo akong buod ko ngayon ang mga pangunahing pagkakaiba sa pagitan ng Git at Github.

Git vs GitHub

1. Ito ay isang software1. Ito ay isang serbisyo
2. Ito ay naka-install nang lokal sa system2. Ito ay naka-host sa Web
3. Ito ay isang tool sa linya ng utos3. Nagbibigay ito ng isang grapikong interface
4. Ito ay isang tool upang pamahalaan ang iba't ibang mga bersyon ng mga pag-edit, na ginawa sa mga file sa isang git repository4. Ito ay isang puwang upang mag-upload ng isang kopya ng Punta ka na imbakan
5. Nagbibigay ito ng mga pagpapaandar tulad ng Pamamahala ng Source Code ng Source Code Management5. Nagbibigay ito ng mga pagpapaandar ng Git tulad ng VCS, Source Code Management pati na rin ang pagdaragdag ng ilang mga sariling tampok
Tinapos nito ang blog na ito sa Git vs GitHub. Inaasahan kong nasiyahan ka sa pagbabasa ng blog na ito at may natutunan na bago. Kung nakita mo ito Git vs GitHub blog, nauugnay, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa Edureka DevOps Certification Training ay tumutulong sa mga nag-aaral na makakuha ng kadalubhasaan sa iba't ibang mga proseso at tool ng DevOps tulad ng Puppet, Jenkins, Nagios at GIT para sa pag-automate ng maraming mga hakbang sa SDLC. May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento at babalikan ka namin.