Wat is Github?

Simpel gezegd, GitHub is een "hub" waar mensen kunnen samenwerken aan verschillende documenten. Hoewel GitHub met alles werkt, van Word-documenten tot Excel-spreadsheets, wordt het meestal gebruikt door ontwikkelaars die willen samenwerken aan code. GitHub geeft ontwikkelaars toegang tot Git, een versiebeheersysteem (VCS) dat speciaal is aangepast voor het programmeren van projecten. We hebben tijd nodig gehad om Git uit te leggen en hoe GitHub een revolutie teweeg heeft gebracht in collaborative programming.

Wat is Git?

Weet je nog dat ik samenwerkte aan groepsberichten van de middelbare school in de dagen vóór Google Documenten? U zou het rapport rond e-mailen en ervoor zorgen dat iedereen zijn bijdrage heeft gedaan. Soms zou je je bijdrage bewerken en e-mailen rond een bijgewerkte kopie. Al snel zweefden er ongeveer drie tot vijf exemplaren rond, die elk enkele, maar niet alle, laatste bewerkingen bevatten. Ten slotte zou een van jullie het opnemen en de moedeloze taak op zich nemen om alle versies terug te brengen tot een enkel up-to-date document.

Uiteindelijk zou Google Documenten het samenwerken aan documenten ongeveer duizend keer eenvoudiger maken, waardoor u allemaal kunt werken binnen één systeem op hetzelfde document en tracking-updates. Googledocs, zoals Git, is een versiecontrolesysteem. Het is ontworpen om updates bij te houden en samen te voegen, waardoor het eenvoudiger wordt om samen aan één project te werken.

Git is een VCS gemaakt door Linus Trovalds, de maker van Linux, dus je weet al dat het ontwikkelaarvriendelijk zal zijn. In feite is het ontwikkelaarvriendelijk ten koste van andere bestandstypes. In plaats van realtime updates toe te staan, zoals Googledocs of de voorgangers van GitHub in de programmeerindustrie, moeten mensen een volledige versie van het project downloaden en deze lokaal bewerken. Vervolgens uploaden ze hun update. Dientengevolge zijn er talrijke "bijgewerkte" documenten die in het systeem worden gevolgd.

Dit zou best intimiderend moeten klinken als je wilt samenwerken aan PowerPoint of Word. Maar het is ideaal voor programmeurs. Immers, te veel cooks-bewerkingscode in hetzelfde document kan de integriteit van de code aanzienlijk schaden. Bovendien kunnen wijzigingen op één plek invloed hebben op de manier waarop een ander onderdeel is gecodeerd. Als individuele ontwikkelaars niet weten wat hun collega's aan het doen zijn, kan dit verwarring en potentieel rampspoed voor de code betekenen.

In plaats daarvan gaat elke ontwikkelaar aan de slag met een "leeg canvas" van de bestaande hoofdversie van het project. Ze uploaden gewijzigde versies naar de "staging-omgeving". Van daaruit kunnen veranderingen worden "vastgelegd" in het eindproduct. Nadat er wijzigingen zijn doorgevoerd, maken deze deel uit van de hoofdcode die wordt gedownload voor toekomstige wijzigingen. Op deze manier maakt Git het gemakkelijker om wijzigingen te bekijken, te accepteren, af te wijzen en terug te zetten, en om delicate code tegen rampen te beschermen.

GitHub-functies

GitHub is een "hub" voor werken met het Git VCS-formaat. Het wordt geleverd met een verscheidenheid aan functies om het leven van ontwikkelaars gemakkelijker te maken.

  • Repository - Gewoonlijk de "repo" genoemd, dit is waar alle bijgewerkte versies (en de primaire versie) van een project worden opgeslagen. Dit is uw platform voor het project. Elke repo heeft een unieke URL voor eenvoudige toegang.
  • Forking - Tenzij ontwikkelaars voor een privérepository betalen, kan hun project worden bekeken door alle andere leden van de GitHub-community. Als deze leden vinden dat ze een waardige bijdrage kunnen leveren, kunnen ze een nieuw project (repository) van jou maken. Dit wordt 'een repo schrijven' genoemd.
  • Pull-aanvraag - Nadat een repo is vervalst en de bestaande code is gewijzigd, kunnen GitHub-gebruikers de ontwikkelaars van de oorspronkelijke repository uitnodigen om de wijzigingen te bekijken.
  • Samenvoegen - als je van de wijzigingen houdt die iemand heeft gemaakt nadat je je repository hebt vervalst, kun je ervoor kiezen om die wijzigingen te accepteren en ze samen te voegen met je bestaande repository.
  • Changelogs - Hiermee kunnen ontwikkelaars die aan één project werken, alle wijzigingen zien, wie ze heeft gemaakt en wanneer.
  • Netwerken - GitHub maakt het voor beginnende ontwikkelaars gemakkelijker om gezien te worden. Elke gebruiker als een profiel met projecten waaraan ze hebben gewerkt en elke melding die ze hebben gedaan. Wanneer u een pull-aanvraag indient, kunnen de ontwikkelaars die u heeft verzonden uw profiel bekijken. Dit vertelt hen iets over uw expertise en kan aangeven of ze de wijzigingen al dan niet samenvoegen.

De toekomst van programmeren

Forking wordt algemeen beschouwd als de vlaggenschipfunctie van GitHub. Door programmeurs makkelijker te laten opvallen, egaliseren ze het speelveld. Bovendien maakt het sociale en collaboratieve karakter van het platform het gemakkelijker voor kleinere projecten om opgemerkt en gemaakt te worden.

Zie Ook