This shows you the differences between two versions of the page.
moby:backend:02 [2020/07/20 17:28] alexandru.hogea [Comenzi utile de Git] |
moby:backend:02 [2020/07/21 11:25] (current) alexandru.hogea [Exercitii] |
||
---|---|---|---|
Line 17: | Line 17: | ||
==== Comenzi utile de Git ==== | ==== Comenzi utile de Git ==== | ||
<code git> | <code git> | ||
- | **git clone https://gitlab.com/<your_project>** - descarca proiectul cu tot istoricul modificarilor | + | git clone https://gitlab.com/<your_project> - descarca proiectul cu tot istoricul modificarilor |
- | **git init** - se initializeaza repo-ul local (se creaza folderul .git) | + | git init - se initializeaza repo-ul local (se creaza folderul .git) |
- | **git remote add origin https://gitlab.com/<your_project>** - daca aveti proiectul initializat local cu aceasta comanda il legati la repo-ul din cloud | + | git remote add origin https://gitlab.com/<your_project> - daca aveti proiectul initializat local cu aceasta comanda il legati la repo-ul din cloud |
git status - va arata cateva detalii despre modificarile curente, pe ce branch sunteti etc | git status - va arata cateva detalii despre modificarile curente, pe ce branch sunteti etc | ||
git diff - va arata exact care sunt liniile de cod modificate | git diff - va arata exact care sunt liniile de cod modificate | ||
Line 27: | Line 27: | ||
git branch <branch> - creati un nou branch pornind de la commitul pe care va aflati local | git branch <branch> - creati un nou branch pornind de la commitul pe care va aflati local | ||
git branch -d <branch> - stergeti branch-ul specificat | git branch -d <branch> - stergeti branch-ul specificat | ||
- | git push origin <branch> - trimiteti toate commiturile locale de pe un branch catre repo-ul din cloud | + | git push -u origin <branch> - trimiteti toate commiturile locale de pe un branch catre repo-ul din cloud |
git pull origin <branch> - va actualizeaza branch-ul local cu modificarile noi din cloud | git pull origin <branch> - va actualizeaza branch-ul local cu modificarile noi din cloud | ||
git checkout -b origin/<branch> - va mutati pe branch-ul specificat cu modificarile din cloud | git checkout -b origin/<branch> - va mutati pe branch-ul specificat cu modificarile din cloud | ||
Line 312: | Line 312: | ||
Pentru a testa un API scris in Node, puteti sa folositi **cURL**, **wget** sau [[https://www.postman.com/|Postman]]. Noi va recomandam Postman, pentru ca ofera multe functionalitati utile, precum variabile de mediu, colectii, scripturi automate, etc... | Pentru a testa un API scris in Node, puteti sa folositi **cURL**, **wget** sau [[https://www.postman.com/|Postman]]. Noi va recomandam Postman, pentru ca ofera multe functionalitati utile, precum variabile de mediu, colectii, scripturi automate, etc... | ||
+ | ===== Exercitii ===== | ||
+ | * Creati-va un **grup** pe [[GitLab|https://gitlab.com/]]. Numiti-l cum vreti. Puteti sa il faceti public sau privat | ||
+ | * Creati-va **5 repository-uri** in grup. 4 repository-uri vor contine cele 4 microservicii si un repository va avea rol de **monorepo**. | ||
+ | <note tip>Un **monorepo** tine referinta catre alte repository-uri. In el se pot stoca si configurari si fisiere de deployment.</note> | ||
+ | * Pe repo-urile destinate microserviciilor protejati-va branchul **master**, incat sa fie accesibil doar prin **merge request**. | ||
+ | <note tip>//Settings// -> //Repository// -> //Protected Branches//</note> | ||
+ | * Creati-va inca un branch, de **test**. Puteti opta sa il protejati, sau nu, depinde de voi. | ||
+ | * Clonati cele 4 repo-uri care vor tine microserviciile, pe calculator | ||
+ | * Creati-va cate un proiect de NodeJS in fiecare repo si instalati urmatoarele pachete: | ||
+ | <code> | ||
+ | express | ||
+ | helmet | ||
+ | morgan | ||
+ | log-timestamp | ||
+ | express-async-errors | ||
+ | http-errors | ||
+ | axios | ||
+ | dotenv | ||
+ | </code> | ||
+ | * Creati, in fiecare repo, fisierul **.gitignore** si puneti **node_modules** in **.gitignore** | ||
+ | * Experimentati, cat mai mult, cu NodeJS si Express. Va recomandam sa creati rute folosind obiectul **[[https://expressjs.com/en/guide/routing.html|Router]]** din cadrul express. |