El desenvolupament de GitHub va començar l'1 d'octubre de 2007.[10][11] El lloc va ser llançat l'abril de 2008 per Tom Preston-Werner, Chris Wanstrath, i PJ Hyett després que hagués estat disponible per uns quants mesos prèviament com a període de beta.[12]
Els projectes a GitHub poden ser accedits i manipulats utilitzant l'estàndard d'interfície de consola d'ordres Git i totes les ordres estàndard Git funcionen. GitHub també permet navegar als usuaris no registrats pels repositoris públics. Múltiples clients d'escriptori iconnectors de Git també han estat creats per GitHub i altres tercers que integren amb la plataforma.
El lloc proporciona funcions com a les xarxes socials com notificacions, seguidors,wikis (fent servir wiki el programari anomenat Gollum) i un gràfic de xarxa social per mostrar com els desenvolupadors treballen en les seves versions ("forquilles"de l'anglès "forks") d'un repositori i que aquella forquilla (i la branca dins d'aquella forquilla) és la versió més nova.
Un usuari ha de crear un compte per tal de contribuir i aportar contingut al lloc, però els repositoris públics poden ser navegats i descarregats per qualsevol persona. Amb un compte d'usuari registrat, els usuaris són capaços de parlar, gestionar, crear repositoris, entregar contribucions a altres repositoris, i revisar canvis de codi.
El programari que fa funcionar GitHub va ser escrit utilitzantRuby on Rails iErlang pels desenvolupadors de GitHub, Inc. Chris Wanstrath, PJ Hyett, i Tom Preston-Werner.[13]
GitHub és majoritàriament emprat per a programar.
A més decodi font, GitHub dona suport als formats i les característiques següents:
- Documentació, inclòs un arxiu README creat automàticament en una varietat de formats semblants a Markdown (vegeuarxius README a GitHub)
- Seguiment d'assumptes (incloses peticions)
- Wikis
- Petitespàgines web poden ser allotjades a partir de repositoris públics de GitHub. El format d'URL és "https://[username].github.io".
- Llistes de tasques dins d'arxius
- Formatnatiu dePhotoshop vist prèviament i comparat a versions anteriors del mateix arxiu.
Les condicions d'ús de GitHub no requereixen que projectes de programari públic allotjats a GitHub coneguin la Definició de Codi obert. Per tant, (i en qualsevol cas) és aconsellable per usuaris i desenvolupadors que pretenen utilitzar una peça del programari trobat en GitHub que llegeixin lallicència de programari en el repositori (normalment trobat en un arxiu situat entre els primers anomenat LICENSE, "LICENSE.txt", o similar) per determinar si accepta les condicions.
GitHub també proporciona altres serveis: un lloc de l'estil depastebin anomenat Gist[15] que està pensat per mantenir-hi fragments de codi (GitHub està pensat més aviat per mantenir projectes més grans), i un servei d'allotjament de diapositives anomenat Speaker Deck.
Tom Preston-Werner va presentar la llavors nova característica a la conferència de Ruby l'any 2008.[16] Gist construeix en el concepte simple i tradicional de pastebin afegint control de versions per fragments de codi, forking fàcil i encriptació SSL per gists privats. Perquè cada gist té el seu propi repositori Git, múltiples fragments de codi poden estar continguts amb una simple enganxada i poden ser fàcilment utilitzats fent servir Git. A més, el codi forked pot ser tornat a l'autor original en forma de pegat, per tant els gists es converteixen més en mini projectes.
GitHub va llançar un nou programa el dia 7 d'octubre de 2014 anomenat el Pack de Github de l'Estudiant de Desenvolupador (en anglès GitHub Student Developer Pack) per donar als estudiants accés gratuït a eines i servei de desenvolupament populars. GitHub va treballar juntament amb Bitnami, Crowdflower, DigitalOcean, DNSimple, HackHands, Namecheap, Orchestrate, Screenhero, SendGrid, Stripe, Travis CI i Unreal Engine per crear el programa.[17][18]