GitHub is een website en service waar geeks altijd enthousiast over zijn, maar veel mensen begrijpen niet echt wat het doet.
Om GitHub te begrijpen, moet u eerst Git begrijpen. Git is een open-source versiebeheersysteem dat is gestart door Linus Torvalds - dezelfde persoon die Linux heeft gemaakt. Git is vergelijkbaar met andere versiebeheersystemen - Subversion, CVS en Mercurial om er maar een paar te noemen.
Dus Git is een versiebeheersysteem, maar wat betekent dat? Wanneer ontwikkelaars iets maken (bijvoorbeeld een app), brengen ze constant wijzigingen aan in de code en brengen ze nieuwe versies uit tot en met de eerste officiële (niet-bèta) release.
Versiecontrolesystemen houden deze revisies overzichtelijk en slaan de wijzigingen op in een centrale opslagplaats. Hierdoor kunnen ontwikkelaars gemakkelijk samenwerken, omdat ze een nieuwe versie van de software kunnen downloaden, wijzigingen kunnen aanbrengen en de nieuwste revisie kunnen uploaden. Elke ontwikkelaar kan deze nieuwe wijzigingen zien, downloaden en bijdragen.
Evenzo kunnen mensen die niets te maken hebben met de ontwikkeling van een project, de bestanden toch downloaden en gebruiken. De meeste Linux-gebruikers zouden bekend moeten zijn met dit proces, aangezien het gebruik van Git, Subversion of een andere vergelijkbare methode vrij gebruikelijk is voor het downloaden van benodigde bestanden - vooral als voorbereiding op het compileren van een programma vanuit de broncode (een vrij gangbare praktijk voor Linux-geeks).
Git is het geprefereerde versiebeheersysteem van de meeste ontwikkelaars, omdat het meerdere voordelen heeft ten opzichte van de andere beschikbare systemen. Het slaat bestandswijzigingen efficiënter op en zorgt voor een betere bestandsintegriteit.
We hebben vastgesteld dat Git een versiebeheersysteem is, vergelijkbaar maar beter dan de vele beschikbare alternatieven. Dus, wat maakt GitHub zo speciaal? Git is een commandoregel-tool, maar het centrum waar alles rond Git om draait, is de hub - GitHub.com - waar ontwikkelaars hun projecten opslaan en netwerken met gelijkgestemde mensen.