GitHub 101

Pentru a veni în întâmpinarea celor care nu sunt familiarizați cu sistemul de versionare Git am pregătit acest tutorial care vă va arăta pașii care trebuie urmați pentru a încărca proiectele voastre pe GitHub.

0. Concepte de bază

Înainte de a începe tutorialul este util să răspundem la câteva întrebări și să definim câteva noțiuni.

Ce este un sistem de versionare?

Un sistem de versionare este un mod de management al fișierelor care permite păstrarea istoricului tuturor modificărilor aduse fișierelor urmărite. O introducere a tipurilor de sisteme de versionare poate fi citită aici: git-scm.com În continuare vom discuta despre sisteme de versionare din perspectiva folosirii lor în cadrul proiectelor software.

Ce este github.com?

GitHub este un serviciu de hosting al proiectelor git (un proiect git este numit repository). Acesta permite păstrarea unei copii a proiectului online și vizualizarea tuturor fișierelor și a modificărilor aduse acestora.

Care sunt avantajele folosirii unui sistem de versionare?
  • este salvat istoricul tuturor modificărilor, astfel că se poate reveni oricând la o versiune mai veche dacă se descoperă introducerea unor defecte în ultima versiune
  • prin folosirea unui serviciu de hosting, codul sursă are mereu o copie de siguranță online
  • cea mai recentă versiune a codului sursă este mereu disponibilă tuturor dezvoltatorilor, făcând astfel colaborarea și sincronizarea mult mai ușoară decât în cazul trimiterii de fișiere conținând cod sursă dezvoltatorilor interesați de proiect.
Dicționar de termeni
  • git - sistem de versionare
  • repository - un „proiect” git ce conține toate fișierele și istoricul modificărilor
  • commit - un set de modicări/adăugări/ștergeri a unui sau a mai multor fișiere din cadrul repository-ului

1. Crearea contului GitHub

Primul pas este crearea unui cont GitHub, completând un username, adresa de email și o parolă. La următorul pas va trebui să selectați tipul de cont dorit. Implicit este selectat contul gratuit, care permite doar crearea de repository-uri publice. Apăsați „Finish sign up”.

Acesta este un moment bun pentru a valida adresa de email aleasă: tot ce trebuie să faceți este să accesați link-ul din interiorul email-ului primit de la GitHub.

2. Crearea unui repository

Pagina de start a GitHub va conține acum rubrica GitHub Bootcamp, o colecție de resurse suplimentare despre utilizarea GitHub. Noi ne vom axa pe crearea unui repository. Pentru aceasta dați click pe + New Repository

Următorul pas este alegerea unui nume pentru repository. În câmpul „Description” puteți adăuga o scurtă descriere a proiectului. Nu uitați să bifați „Initialize this repository with a README”. Opțional puteți alege, în partea de jos a paginii, adăugarea unui fișier .gitignore și/sau a unei licențe.

Fișierul .gitignore este folosit de git pentru a ignora fișierele pe care nu le doriți în repository, de exemplu: fișiere generate la compilare, fișiere private, etc. Mai multe detalii puteți găsi aici: help.github.com.

Licența folosită determină condițiile în care o altă persoană poate folosi proiectul vostru. Un ghid alegerea unei licențe poate fi găsit aici: choosealicense.com.

După apăsarea butonului „Create Repository” veți ajunge pe pagina repository-ului nou creat.

3. Instalarea și configurarea GitHub for Windows

În continuare vom descăra și instala aplicația GitHub for Windows de la adresa windows.github.com. După instalare va trebui să vă autentificați în aplicație cu username-ul/adresa de mail și parola alese la crearea contului de GitHub.

În următorul pas va trebui să configurați identitatea voastră. Scrieți numele întreg și adresa de email. Acestea vor fi publice tuturor persoanelor care au acces la repository.

La ultimul pas puteți apăsa pe „Skip”, deoarece încă nu aveți niciun repository local.

4. Crearea primul commit

Acum vom clona (crea o copie locală) repository-ul creat anterior. Din aplicație vom da click pe „+”, vom selecta tab-ul „Clone”, contul și repository-ul pe care dorim să-l clonăm, iar în final vom apăsa „**Clone **”. Pe ecran va apărea o fereastră pentru selectarea directorului unde se va face clonarea.

Acum puteți adăuga fișierele sursă în folderul în care ați clonat repository-ul. În acest exemplu este vorba de fișierul hello.c.

Reveniniți în aplicația GitHub for Windows și selectați repository-ul. Veți observa pe coloana centrală că a detectat modificarea unor fișiere („Uncommitted changes”). Dați click pe Show pentru a vedea lista lor.

În coloana din dreapta vor apărea toate fișierele noi apărute în directorul repository-ului (ex: hello.c), precum și fișierele existente care au fost modificate de la ultimul commit (ex: README.md). Pentru a adăuga toate fișierele în repository bifați „Files to commit”. Dacă doriți un control mai fin asupra fișierelor puteți expanda fiecare fișier și selecta doar anumite linii. La final scrieți un mesaj de commit în câmpul Summary de pe coloana centrală și dați click pe commit.

Ultimul pas este sincronizarea repository-ului local cu GitHub. Tot ce trebuie făcut este să dați click pe „Sync”.

Important! După fiecare commit este necesară sincronizarea cu GitHub pentru ca modificările să fie disponibile și online.

Acum modificările create în ultimul commit vor fi vizibile tuturor persoanelor cu acces la repository.


This is a companion discussion topic for the original entry at http://blog.infoeducatie.ro/tutorial/2015/04/14/github-101.html
1 Like

Dupa ce punt codul sursa si resursele pe repositorul de pe contul meu, ce trebuie sa fac pentru ca sa aveti si dumneavoastra acces la codul meu? Mai exact, cum va pot trimite codul sursa si resursele de pe site-ul GitHub

Poti sa ne trimiti pe mail link-ul catre repository. Iti recomandam sa postezi si pe pagina proiectului pe forum.

Aseara am incarcat in github proiectul, dar nu am putut sa fac sync. Dupa asta am dezinstalat GitHub si acum nu mai pot sa il instalez pentru ca imi apare o eroare:
An error occurred trying to download ‘http://github-windows.s3.amazonaws.com/GitHub.application’.
Va rog frumos sa imi dati o sugestie in scopul rezolvarii problemei.Multumesc!

Pare să fie o problemă legata de conexiunea la internet[1]. Te rog să mai încerci o data.

[1] http://stackoverflow.com/questions/13490229/github-for-windows-installation

Pai am incercat de mai multe ori pe parcursul zilei de azi (ultima data am incercat acum cateva minute) si de fiecare data imi aparea mesajul de mai sus…

Incearca sa parcurgi si celelalte sugestii de pe stackoverflow, incepand cu aceasta:

then you can try opening github-windows.s3.amazonaws.com/GitHub.application directly in internet explorer and then it should work fine.

Multumesc sugestia de mai sus m-a ajutat si am reusit sa instalez aplicatia.

Buna seara! Din pacate imi apare inca o eroare cand fac sync. Adica imi ajunge pana la 30 si ceva la suta si apoi se opreste (am incercat sa pun proiectul complet si sa pun un fisier odata si am avut acelasi rezultat). V-as fi foarte recunoscator daca m-ati putea ajuta. Multumesc anticipat!

Cat de mult spatiu ocupa proiectul tau?

Robert

Proiectul are 811 MB.

Bună Vlad,

GitHub este un sistem de gestionare a codului sursă și are “probleme” cu stocarea de fișiere de dimensiuni mari pentru că nu a fost conceput pentru această utilizare.

Dacă proiectul tău are 811MB cel mai probabil ai o suită de fișiere adiționale pe lângă codul sursă care sunt de dimensiune mare.

Pentru că acele fișiere nu sunt relevante din perspectiva codului sursă le putem ignora adăugând o serie de reguli în .gitignore.

Dacă ne poți spune care sunt fișierele de peste 50MB din proiectul tău te putem ajuta să scrii acel fișier care va remedia problema ta.

Cu respect,
Alex

Buna Alex,

Dap ai dreptate am mai multe fisiere aditionale si am 3 fisiere wmp care au peste 50 MB.

Adaugă în rădăcina proiectului tău un fișier numit .gitignore.
În cazul în care sistemul de operare nu te va lasă să creezi un fișier fără nume și doar cu extensie poți încerca:

notepad .gitignore

sau

echo "" > .gitignore

În fișierul .gitignore trebuie să adaugi următoarea linie:

*.wmp

Ok am facut asta, dar sync-ul se comporta la fel (adica ajunge pana la 39% dupa care se opreste)…

Odata ce ai selectat niste fisiere pentru a fi adaugate intr-un commit, chiar daca le adaugi in gitignore, acestea raman adauga la commit, asa ca e nevoie sa le scoti manual.

Incearca sa debifezi la pasul 4 - screenshot 3 “Files to commit”, dupa care sa bifezi la loc.

Multumesc pentru sfaturi m-au ajutat mult.(am reusit intr-un final).

Dupa ce am adaugat fisierele in Github nu imi apare nicaieri butonul de Sync… ce e de facut?