Primul repository
Un repository local devine util cu adevărat când îl legi de unul remote (pe GitHub): ai backup, poți lucra de pe mai multe mașini și poți colabora. Lecția asta acoperă crearea, clonarea și sincronizarea.
Repository nou pe GitHub
# ai deja un proiect local cu commit-uri:
git remote add origin git@github.com:utilizator/proiect.git
git branch -M main
git push -u origin main
# -u leagă branch-ul local de cel remote; pe viitor doar "git push"Clonarea unui repo existent
git clone git@github.com:utilizator/proiect.git
cd proiect
# ai tot codul + toată istoria, legat automat de originSincronizarea
git pull # aduce schimbările de pe remote și le îmbină
git push # trimite commit-urile tale locale pe remote
git fetch # aduce info despre remote FĂRĂ să îmbine (mai sigur)SSH vs HTTPS
Pentru push repetat, configurează o cheie SSH (`ssh-keygen`, apoi adaugi cheia publică în GitHub → Settings → SSH keys). Altfel, cu HTTPS, GitHub îți cere un token de acces personal la fiecare push.
README
Adaugă un `README.md` cu: ce face proiectul, cum îl instalezi și rulezi local, ce variabile de mediu are nevoie. E prima pagină pe care o vede oricine (inclusiv tu peste 6 luni).
Primul push, pas cu pas
git init git add . git commit -m "Structura inițială a proiectului" # creezi repo gol pe GitHub (fără README), apoi: git remote add origin git@github.com:eu/proiectul-meu.git git push -u origin main
Exercițiu
Configurează o cheie SSH pentru GitHub. Creează un repo gol pe GitHub și împinge un proiect local existent. Adaugă un README.md cu instrucțiuni de instalare. Clonează repo-ul într-un alt folder și verifică că e complet.
Greșeli frecvente
- Creezi repo pe GitHub CU README, apoi ai conflict la primul push.
- Folosești HTTPS și te enervezi introducând token-ul la fiecare push.
- Nu pui -u la primul push și apoi git push nu știe unde.
- Repo fără README — nimeni (nici tu) nu știe cum să-l pornească.
De reținut
- git remote add origin + git push -u origin main pentru primul push.
- git clone aduce cod + istorie, legat de origin.
- pull (aduce+îmbină), push (trimite), fetch (doar aduce).
- SSH pentru comoditate; README pentru orientare.
Pe scurt
Remote-ul îți dă backup și colaborare. Legi local de origin, împingi cu push, sincronizezi cu pull.