Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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.
poo-is-ab/resurse/02.1759311191.txt.gz · Last modified: 2025/10/01 12:33 by adrian.ciobanu1906
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0