This shows you the differences between two versions of the page.
uso:laboratoare:laborator-08:git-branches [2022/11/23 01:29] liza_elena.babu created |
uso:laboratoare:laborator-08:git-branches [2023/11/16 23:00] (current) mihai.pacuraru [Operația merge dintre un branch secundar și master] |
||
---|---|---|---|
Line 47: | Line 47: | ||
O reprezentare vizuală a istoricului commiturilor este: | O reprezentare vizuală a istoricului commiturilor este: | ||
- | {{./img/GitHub-commit-history.png}} | + | {{:uso:laboratoare:laborator-04:github-commit-history.png?500}} |
**Root-commitul** este primul commit din istoric (//b2a590a8637f1eab96e557334dbd4be14bf95833//, //b2a590a//)((ID-ul unui commit are o formă lungă, completă, și o formă scurtă formată din primele 7 caractere. De exemplu, pentru commitul cu ID-ul //b2a590a8637f1eab96e557334dbd4be14bf95833//, forma scurtă este //b2a590a//. | **Root-commitul** este primul commit din istoric (//b2a590a8637f1eab96e557334dbd4be14bf95833//, //b2a590a//)((ID-ul unui commit are o formă lungă, completă, și o formă scurtă formată din primele 7 caractere. De exemplu, pentru commitul cu ID-ul //b2a590a8637f1eab96e557334dbd4be14bf95833//, forma scurtă este //b2a590a//. | ||
Line 60: | Line 60: | ||
În următoarea secțiune vom adăuga un fișier ''%%.gitignore%%'' proiectului și vom adăuga implementarea pentru agloritmul Merge Sort. | În următoarea secțiune vom adăuga un fișier ''%%.gitignore%%'' proiectului și vom adăuga implementarea pentru agloritmul Merge Sort. | ||
- | Note | + | <note> |
În general adăugăm fișierul ''%%.gitignore%%'' la un proiect de pe branch-ul master. | În general adăugăm fișierul ''%%.gitignore%%'' la un proiect de pe branch-ul master. | ||
- | În secțiunea ''%%app_dev_add_gitignore%%'' îl vom adăuga de pe un alt branch pe care îl numim ''%%add-gitignore%%'' ca să ne obișnuim să folosim branch-uri. | + | </note> |
+ | |||
+ | În secțiunea ''[[:uso:laboratoare:laborator-08#adaugarea_unui_fisier_gitignore_repository-ului | Adăugarea unui fișier .gitignore repository-ului]]'' îl vom adăuga de pe un alt branch pe care îl numim ''%%add-gitignore%%'' ca să ne obișnuim să folosim branch-uri. | ||
Line 75: | Line 76: | ||
În această subsecțiune vom crea un nou branch numit ''%%add-gitignore%%''. Vom adăuga un fișier ''%%.gitignore%%'' proiectului de pe acest branch. | În această subsecțiune vom crea un nou branch numit ''%%add-gitignore%%''. Vom adăuga un fișier ''%%.gitignore%%'' proiectului de pe acest branch. | ||
- | Note | + | <note> |
Într-un proiect Git, scriem în fișierul ''%%.gitignore%%'' nume de fișiere și directoare. Acestea sunt fișiere și directoare din directorul proiectului pe care nu vrem să le adăugăm în repository. | Într-un proiect Git, scriem în fișierul ''%%.gitignore%%'' nume de fișiere și directoare. Acestea sunt fișiere și directoare din directorul proiectului pe care nu vrem să le adăugăm în repository. | ||
+ | |||
+ | </note> | ||
Spre exemplu, nu punem fișiere obiect și fișiere executabile în repository pentru că sunt fișiere generate pentru un anumit tip de sistem. Având codul sursă, putem genera fișierele obiect și executabile pe sistemul nostru. | Spre exemplu, nu punem fișiere obiect și fișiere executabile în repository pentru că sunt fișiere generate pentru un anumit tip de sistem. Având codul sursă, putem genera fișierele obiect și executabile pe sistemul nostru. | ||
Line 160: | Line 162: | ||
Am publicat commitul în repository-ul remote pe branch-ul ''%%add-gitignore%%''. Odată cu publicarea commitului pe GitHub, a fost creat și branch-ul ''%%add-gitignore%%'' în repository-ul remote. | Am publicat commitul în repository-ul remote pe branch-ul ''%%add-gitignore%%''. Odată cu publicarea commitului pe GitHub, a fost creat și branch-ul ''%%add-gitignore%%'' în repository-ul remote. | ||
- | Note | + | <note> |
Orice operație trebuie să fie urmată de o operație de verficare. Din grabă sau neatenție, putem face operații incorecte și este mai ușor să le remediem pe loc decât mai târziu. Spre exemplu, după crearea unui commit, verificăm **statusul repository-ului** și **istoricul de commituri**. | Orice operație trebuie să fie urmată de o operație de verficare. Din grabă sau neatenție, putem face operații incorecte și este mai ușor să le remediem pe loc decât mai târziu. Spre exemplu, după crearea unui commit, verificăm **statusul repository-ului** și **istoricul de commituri**. | ||
+ | |||
+ | </note> | ||
===== Operația merge dintre un branch secundar și master ===== | ===== Operația merge dintre un branch secundar și master ===== | ||
- | În secțiunea ''%%app_dev_add_gitignore%%'' de mai sus am creat un commit pe branch-ul **add-gitignore**. | + | În secțiunea ''[[:uso:laboratoare:laborator-08#adaugarea_unui_fisier_gitignore_repository-ului | Adăugarea unui fișier .gitignore repository-ului]]'' de mai sus am creat un commit pe branch-ul **add-gitignore**. |
- | + | ||
- | Note | + | |
+ | <note important> | ||
Ne amintim că este **BAD PRACTICE** să facem modificări direct pe branch-ul **master**. | Ne amintim că este **BAD PRACTICE** să facem modificări direct pe branch-ul **master**. | ||
+ | </note> | ||
Vrem ca modificarea făcută de noi, în acest caz crearea unui fișier **gitignore**, să se regăsească și pe branch-ul master. Facem acest lucru prin intermediul operației ''%%merge%%'', operație care unește două branch-uri: adică aduce conținutul unui branch pe un alt branch, în cazul nostru de pe **add-gitignore** pe **master**. Pentru a face acest lucru trebuie să fim pe branch-ul **master**, adică pe branch-ul în care vrem să integrăm schimbările. | Vrem ca modificarea făcută de noi, în acest caz crearea unui fișier **gitignore**, să se regăsească și pe branch-ul master. Facem acest lucru prin intermediul operației ''%%merge%%'', operație care unește două branch-uri: adică aduce conținutul unui branch pe un alt branch, în cazul nostru de pe **add-gitignore** pe **master**. Pentru a face acest lucru trebuie să fim pe branch-ul **master**, adică pe branch-ul în care vrem să integrăm schimbările. | ||
Line 287: | Line 290: | ||
Suntem pe branch-ul **update-gitignore** și adăugăm linia ''%%build/%%'' în fișierul ''%%.gitignore%%''. | Suntem pe branch-ul **update-gitignore** și adăugăm linia ''%%build/%%'' în fișierul ''%%.gitignore%%''. | ||
- | Note | + | <note> |
De obicei, într-un proiect vom avea un director în care punem fișierele generate (spre exemplu, fișierele excutabile). Astfel, punem doar numele directorului în ''%%.gitginore%%'' și toate fișierele din el vor fi ignorate de Git. | De obicei, într-un proiect vom avea un director în care punem fișierele generate (spre exemplu, fișierele excutabile). Astfel, punem doar numele directorului în ''%%.gitginore%%'' și toate fișierele din el vor fi ignorate de Git. | ||
+ | |||
+ | </note> | ||
Alternativa ar fi să adăugăm numele tuturor fișierelor executabile pe care le generăm în ''%%.gitignore%%''. Dezavantajul aici este că nu putem refolosi un fișier ''%%.gitignore%%'' de la un proiect la altul pentru că numele executabilelor vor fi, cel mai probabil, diferite. | Alternativa ar fi să adăugăm numele tuturor fișierelor executabile pe care le generăm în ''%%.gitignore%%''. Dezavantajul aici este că nu putem refolosi un fișier ''%%.gitignore%%'' de la un proiect la altul pentru că numele executabilelor vor fi, cel mai probabil, diferite. |