This shows you the differences between two versions of the page.
poo-is-ab:resurse:02 [2025/10/01 12:33] adrian.ciobanu1906 |
poo-is-ab:resurse:02 [2025/10/04 16:08] (current) adrian.ciobanu1906 |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Startup guide - WSL, VSC si GitHub ===== | + | ===== Startup guide - VSC, WSL și GitHub ===== |
**Autor: Dănuț Ciobanu** | **Autor: Dănuț Ciobanu** | ||
Line 90: | Line 90: | ||
Acum aceste setări vor fi salvate global pentru acest utilizator pentru comenzile următoare de Git. | Acum aceste setări vor fi salvate global pentru acest utilizator pentru comenzile următoare de Git. | ||
+ | ==== Pasul 5 - Primul repository și cod ==== | ||
+ | |||
+ | Intrați pe [[https://github.com/|GitHub]] și apăsați pe butonul de "+" din dreapta-sus: | ||
+ | |||
+ | {{ :poo-is-ab:resurse:github_new_repo.png?direct&600 |}} | ||
+ | |||
+ | Apoi dați-i un nume și recomandat este să îl faceți privat atâta timp cât nu vreți ca oricine extern să vă poată vedea repository-ul respectiv și salvați-l: | ||
+ | |||
+ | {{ :poo-is-ab:resurse:repos_settings.png?direct&600 |}} | ||
+ | |||
+ | Acum salvați link-ul de tip **SSH** în clipboard deoarece îl vom folosi imediat: | ||
+ | |||
+ | {{ :poo-is-ab:resurse:github_ssh_repo.png?direct&600 |}} | ||
+ | |||
+ | Revenind în Visual Studio Code, dați click pe "**File**" din stânga-sus și pe "**Open Folder...**" apoi selectați folderul unde doriți sa lucrați: | ||
+ | |||
+ | {{ :poo-is-ab:resurse:vsc_open_folder.png?direct&600 |}} | ||
+ | |||
+ | **ATENȚIE: Acum interfața s-a resetat și terminalul de WSL precedent s-a închis deci TREBUIE SĂ NE AUTENTIFICĂM PE PROFIULUL PERSONAL DIN NOU** | ||
+ | |||
+ | Dați click pe "Terminal" în stânga sus și apoi pe "New Terminal" pentru a-l redeschide: | ||
+ | |||
+ | {{ :poo-is-ab:resurse:vsc_new_terminal2.png?direct&600 |}} | ||
+ | |||
+ | În poza de mai sus se observă 2 lucruri importante: | ||
+ | - **Utilizatorul s-a resetat la cel default, autentificarea este necesară** | ||
+ | - Lângă combinația numeUtilizator@numeDispozitiv se poate vedea, cu albastru, path-ul către folderul curent, deci deja suntem în folderul dorit după ce am dat "Open Folder..." înainte, e bine | ||
+ | |||
+ | Următorul pas este clonarea repository-ului creat pe GitHub pe dispozitivul local. Asta se realizează folosind comanda ''%%git clone linkSshCopiatAnterior%%''. "Git clone" este practic o succesiune de 4 comenzi individuale de Git: | ||
+ | * **git init** -> creează repository-ul local | ||
+ | * **git remote add** -> adaugă link-ul către repository-ul de pe GitHub | ||
+ | * **git fetch** -> scoate toate modificările aduse repository-ului de pe GitHub | ||
+ | * **git checkout** -> creează efectiv fișierele pe dispozitivul local | ||
+ | |||
+ | **ATENȚIE: deci nu mai este nevoie sa rulăm ''%%git init%%'' separat.** | ||
+ | |||
+ | {{ :poo-is-ab:resurse:git_clone_bun.png?direct&600 |}} | ||
+ | |||
+ | În poza de mai sus se observă 3 lucruri importante, din nou: | ||
+ | - **Când s-a realizat clonarea, S-A CREAT UN FOLDER NOU CU DENUMIREA ACESTUI REPOSITORY** | ||
+ | - Noi trebuie să lucrăm în folderul ce conține "**.git**" deci trebuie sa folosim comanda ''%%cd%%'' pentru a ne muta în directorul corespunzător și în WSL -> Repository-ul folosit de mine se numește "LabOCW" și se poate vedea comanda ''%%cd LabOCW%%'' pentru a mă afla în folderul corect pentru când va fi necesară compilarea și rularea fișierelor | ||
+ | - La prima conectare prin SSH, este necesară adăugarea domeniului "github.com" în lista de "gaze cunoscute" ("known hosts" în negleză) pentru a putea facilita accesul în viitor. Asta se realizează scriind "**yes**" când se cere. | ||
+ | |||
+ | {{ :poo-is-ab:resurse:small_test_bun.png?direct&600 |}} | ||
+ | |||
+ | În poza de mai sus: | ||
+ | * Am creat 3 fișiere folosind comanda ''%%touch%%'' direct din terminalul WSL pentru a mă asigura că sunt create unde trebuie și nu într-un folder superior | ||
+ | * Am scris un cod foarte simplu strict pentru a exemplifica comenzile de rulare si executare a codului direct din terminal | ||
+ | * Se poate observa că cele 3 fișiere acum sunt verzi și apare "U" lângă ele, asta înseamnă că sunt în folderul potrivit și Git-ul detecteaza modificări | ||
+ | |||
+ | Pentru a compila codul scris, voi folosi comanda ''%%g++ functions.cpp main.cpp -o exec%%''. Pe bucăți, reprezintă: | ||
+ | - **g++** este compilatorul de cod C++ instalat în primii pași | ||
+ | - **functions.cpp main.cpp** reprezintă lista de fișiere .cpp ce vor fi compilate (**ATENȚIE doar fișierele .cpp se compilează, fișierele .h se includ pentru referințe ce trebuie transmise între fișiere, ACESTEA NU SE COMPILEAZĂ**) | ||
+ | - **-o** reprezintă opțiunea pentru a crea un executabil ce poate fi rulat | ||
+ | - **exec** numele executabilului | ||
+ | |||
+ | Pentru a rula executabilul se folosește sintaxa ''%%./numeFișier%%'', care este general valabilă în Linux pentru a rula fișiere ce pot fi executate. În cazul nostru: ''%%./exec%%''. | ||
+ | |||
+ | {{ :poo-is-ab:resurse:exec_test.png?direct&600 |}} | ||
+ | |||
+ | ==== Pasul 6 - Încărcare pe GitHub ==== | ||
+ | |||
+ | Pentru a realiza trimiterea fișierelor către repository din GitHub trebuie executate următoarele comenzi: | ||
+ | - **git add fișier** -> se adaugă fiecare fișier | ||
+ | - **git commit -m "mesaj"** -> se pregătesc fișierele pentru commit împreună cu un mesaj relevant | ||
+ | - **git status** -> e o preferință personală pentru a verifica dacă am uitat fișiere și că totul este în regulă | ||
+ | - **git push** -> deoarece am clonat prin SSH, toate informațiile necesare au fost primite încă de la început si toate modificările adăugate în commit pot fi "împinse" pe GitHub direct, fără parole sau alte configurații necesare | ||
+ | |||
+ | Concret: | ||
+ | |||
+ | {{ :poo-is-ab:resurse:git_example.png?direct&600 |}} | ||
+ | |||
+ | Și rezultatul de pe GitHub: | ||
+ | |||
+ | {{ :poo-is-ab:resurse:github_repo_commited.png?direct&600 |}} | ||
+ | |||
+ | Se poate vedea că fișierele au fost încărcate cu succes și cu mesajul corespunzător. |