Skip to content

Latest commit

 

History

History
292 lines (206 loc) · 8.8 KB

2.Documentatie.PR.Fetch.md

File metadata and controls

292 lines (206 loc) · 8.8 KB

README: Workflow cu Branch-uri și Pull Request-uri

Descrierea Proiectului

Acest ghid detaliază procesul de lucru cu branch-uri și pull request-uri pentru colaborarea eficientă pe proiectul nostru "Weather App". Este destinat colegilor care folosesc GitHub Desktop, dar include și comenzi bash pentru utilizatorii de Visual Studio Code (VSCode). Ghidul acoperă crearea de branch-uri, realizarea modificărilor, sincronizarea codului și gestionarea pull request-urilor, asigurând o colaborare fluidă și coerentă.

Crearea și Gestionarea Branch-urilor

Utilizând GitHub Desktop

  1. Deschide GitHub Desktop:

    • Asigură-te că ai clonat repository-ul proiectului pe calculatorul tău.
  2. Crează un nou branch:

    • În GitHub Desktop, apasă pe meniul din partea stângă sus unde scrie numele branch-ului curent (de obicei main sau master).
    • Selectează New Branch.
    • Denumește branch-ul descriptiv, de exemplu: feature/add-weather-component.
    • Apasă pe Create Branch.
  3. Realizează modificările:

    • Editează fișierele necesare în editorul tău preferat. Adaugă comentarii detaliate în cod pentru a explica modificările, astfel încât colegii să înțeleagă contextul.
  4. Commit și push:

    • După ce ai realizat modificările, în GitHub Desktop, apasă pe Commit to <branch name>.
    • Scrie un mesaj de commit clar și descriptiv, de exemplu: Added weather component with basic functionality.
    • Apasă pe Push origin.

Utilizând Visual Studio Code (VSCode)

  1. Deschide VSCode și terminalul integrat:

    • Asigură-te că ai clonat repository-ul proiectului și ai deschis folderul în VSCode.
    • Deschide terminalul integrat cu Ctrl + \`` sau navigând la View > Terminal`.
  2. Crează un nou branch:

    git checkout -b feature/add-weather-component
    • git checkout -b feature/add-weather-component: Creează un nou branch denumit feature/add-weather-component și comută pe acel branch.
  3. Realizează modificările:

    • Editează fișierele necesare și adaugă comentarii detaliate în cod.
  4. Commit și push:

    git add .
    • git add .: Adaugă toate fișierele modificate pentru commit.
    git commit -m "Added weather component with basic functionality"
    • git commit -m "Added weather component with basic functionality": Creează un commit cu mesajul specificat.
    git push origin feature/add-weather-component
    • git push origin feature/add-weather-component: Trimite modificările către repository-ul remote pe branch-ul creat.

Sincronizarea Codului și Gestionarea Conflictelor

  1. Actualizează branch-ul principal:

    • Înainte de a lucra pe branch-ul tău, este bine să te asiguri că ai ultima versiune a branch-ului principal (main sau master).

    GitHub Desktop:

    • Selectează branch-ul main.
    • Apasă pe Fetch origin pentru a aduce cele mai recente modificări din repository-ul remote.
    • Apasă pe Pull origin pentru a integra aceste modificări local.

    VSCode:

    git checkout main
    git pull origin main
    • git checkout main: Comută pe branch-ul main.
    • git pull origin main: Actualizează branch-ul main cu ultimele modificări din repository-ul remote.
  2. Actualizează branch-ul tău cu ultimele modificări din branch-ul principal:

    • Este important să faci acest lucru pentru a evita conflictele la pull request.

    GitHub Desktop:

    • Selectează branch-ul tău.
    • Apasă pe Branch în meniul de sus și selectează Merge into current branch....
    • Selectează main pentru a aduce modificările din branch-ul principal în branch-ul tău.

    VSCode:

    git checkout feature/add-weather-component
    git merge main
    • git checkout feature/add-weather-component: Comută pe branch-ul tău.
    • git merge main: Integrează modificările din branch-ul main în branch-ul tău.
  3. Rezolvarea conflictelor:

    • Dacă apar conflicte, GitHub Desktop și VSCode îți vor arăta fișierele afectate. Editează manual fișierele pentru a rezolva conflictele.
    • După rezolvarea conflictelor, marchează fișierele ca rezolvate și finalizează merge-ul.

    GitHub Desktop:

    • Selectează Mark as resolved pentru fișierele editate.
    • Apasă pe Commit merge.

    VSCode:

    git add .
    git commit -m "Resolved merge conflicts"

Crearea și Gestionarea Pull Request-urilor

  1. Crează un Pull Request (PR):

    • După ce ai terminat modificările pe branch-ul tău și ai sincronizat cu branch-ul principal, este timpul să creezi un PR.

    GitHub Desktop:

    • Apasă pe Create Pull Request în GitHub Desktop sau deschide repository-ul pe GitHub și apasă pe New Pull Request.
    • Asigură-te că base branch este main și compare branch este branch-ul tău.
    • Completează descrierea PR-ului, explicând clar ce modificări ai făcut și de ce.
    • Apasă pe Create Pull Request.

    GitHub Website:

    • Navighează la repository-ul tău pe GitHub.
    • Apasă pe Pull Requests și apoi pe New Pull Request.
    • Selectează branch-ul tău și completează descrierea PR-ului.
    • Apasă pe Create Pull Request.
  2. Revizuirea și actualizarea PR-ului:

    • Alți membri ai echipei vor revizui PR-ul și pot lăsa comentarii sau cereri de modificare.
    • Dacă este necesar să faci modificări suplimentare, actualizează branch-ul tău și împinge modificările.

    GitHub Desktop:

    • Fă modificările necesare.
    • Commit și push la fel ca înainte.

    VSCode:

    git add .
    git commit -m "Made requested changes"
    git push origin feature/add-weather-component

Sincronizarea codului dacă altcineva a făcut un pull request

  1. Fetch și Pull:

    • Dacă cineva a făcut un pull request și a fost integrat în branch-ul principal, trebuie să aduci aceste modificări în branch-ul tău.

    GitHub Desktop:

    • Asigură-te că ești pe branch-ul main.
    • Apasă pe Fetch origin și apoi pe Pull origin.
    • Mergi înapoi la branch-ul tău și adu modificările din main prin Merge into current branch....

    VSCode:

    git checkout main
    git pull origin main
    git checkout feature/add-weather-component
    git merge main
  2. Gestionarea codului propriu în timpul unui fetch/pull:

    • Nu îți vei pierde codul propriu în timpul unui fetch sau pull, dar este posibil să apară conflicte dacă codul tău și codul integrat modifică aceleași părți ale fișierelor.
    • În cazul unui conflict, Git te va anunța și va trebui să rezolvi manual conflictele înainte de a continua.

Exemple de comentarii în cod

Comentariile în cod sunt esențiale pentru a ajuta colegii să înțeleagă ce ai făcut și de ce. Iată câteva exemple:

// Funcția care obține datele meteo pentru un oraș specific
async function getWeatherByCityName(city) {
  try {
    const url = `${BASE_URL}/weather?q=${city}&appid=${API_KEY}&units=metric`;
    return await fetchFromAPI(url);
  } catch (error) {
    console.error(`Error getting weather by city name "${city}":`, error);
    throw error;
  }
}

// Afișează datele meteo pentru orașul specificat în UI
function displayWeatherData(data) {
  // Exemplu: actualizează elementul HTML cu temperatura
  document.getElementById('temperature').innerText = `${data.main.temp}°C`;
}

Integrarea fișierelor în index.html, index.css și index.js

  1. Crearea fișierelor:
    • Creează un fișier HTML,

un fișier JS și un fișier SCSS pentru noua componentă, de exemplu: new-component.html, new-component.js, new-component.scss.

  1. Includerea fișierelor în index.html:

    • Adaugă următoarele linii în index.html pentru a include componenta ta:
    <include src="./partials/new-component.html"></include>
  2. Includerea fișierelor în index.css:

    • Importă fișierul SCSS în index.css:
    @import './sass/new-component.scss';
  3. Includerea fișierelor în index.js:

    • Importă și inițializează componenta în index.js:
    import { initializeNewComponent } from './partials/new-component.js';
    
    document.addEventListener('DOMContentLoaded', async () => {
      initializeSearch();
      initializeWeatherCard();
      initializeNewComponent(); // Inițializează noua componentă
    });
  4. Commit și PR:

    • După ce ai realizat modificările și le-ai testat, realizează commit-ul și trimite un pull request urmând pașii menționați anterior.