This shows you the differences between two versions of the page.
uso:laboratoare:laborator-08:git-first-commits [2023/11/13 17:22] mihai.pacuraru [Crearea unui commit cu modificări în fișiere existente] |
uso:laboratoare:laborator-08:git-first-commits [2023/11/16 22:52] (current) mihai.pacuraru [Crearea primului commit] fix internal links |
||
---|---|---|---|
Line 24: | Line 24: | ||
- | În următoarele secțiuni vom lucra în repository-ul ''%%array-sorting-algorithms%%'' creat în secțiunea ''%%app_dev_git_intro%%''. Vom crea, pas cu pas, un proiect software scris în limbajul de programare C, care conține mai mulți algoritmi de sortare a unui vector de elemente întregi. | + | În următoarele secțiuni vom lucra în repository-ul ''%%array-sorting-algorithms%%'' creat în secțiunea ''[[:uso:laboratoare:laborator-08#introducere_in_git_si_github|Introducere în Git și GitHub]]''. Vom crea, pas cu pas, un proiect software scris în limbajul de programare C, care conține mai mulți algoritmi de sortare a unui vector de elemente întregi. |
Punctual, în această secțiune, vom crea fișierul ''%%README%%'' al proiectului și scheletul de cod pentru algoritmii de sortare **Bubble Sort**, **Merge Sort** și **Radix Sort**. Vom crea commituri în repository-ul local pentru fiecare schimbare, după care vom publica commiturile astfel încât schimbările să fie vizibile și pe GitHub, în repository-ul remote. | Punctual, în această secțiune, vom crea fișierul ''%%README%%'' al proiectului și scheletul de cod pentru algoritmii de sortare **Bubble Sort**, **Merge Sort** și **Radix Sort**. Vom crea commituri în repository-ul local pentru fiecare schimbare, după care vom publica commiturile astfel încât schimbările să fie vizibile și pe GitHub, în repository-ul remote. | ||
Line 80: | Line 80: | ||
README.md | README.md | ||
</code> | </code> | ||
- | Prima linie afișată ''%%On branch master%%'' se referă la branch-ul ''%%master%%'' local. Vom discuta în secțiunea ''%%app_dev_branches%%'' despre branch-uri. | + | Prima linie afișată ''%%On branch master%%'' se referă la branch-ul ''%%master%%'' local. Vom discuta în secțiunea ''[[:uso:laboratoare:laborator-08#lucrul_pe_branch-uri | Lucrul pe branch-uri]]'' despre branch-uri. |
A doua linie afișată ''%%No commits yet%%'' ne spune că nu am făcut până acum niciun commit, adică am pornit de la un repository gol. | A doua linie afișată ''%%No commits yet%%'' ne spune că nu am făcut până acum niciun commit, adică am pornit de la un repository gol. | ||
Line 151: | Line 151: | ||
- | Mai sus am creat un commit cu fișierul ''%%bubble-sort.c%%'' urmând pași similari cu cei din secțiunea ''%%app_dev_local_commit%%'': | + | Mai sus am creat un commit cu fișierul ''%%bubble-sort.c%%'' urmând pași similari cu cei din secțiunea ''[[:uso:laboratoare:laborator-08#crearea_primului_commit| Crearea primului commit]]'': |
<code bash> | <code bash> | ||
Line 179: | Line 179: | ||
</code> | </code> | ||
- Creați un commit care să conțină fișierul ''%%radix-sort.c%%''. Folosiți următorul mesaj de commit: ''%%Add Radix Sort algorithm skeleton%%''. | - Creați un commit care să conțină fișierul ''%%radix-sort.c%%''. Folosiți următorul mesaj de commit: ''%%Add Radix Sort algorithm skeleton%%''. | ||
- | - Dați comanda de verificare ''%%git log%%''. Detaliem outputul comenzii ''%%git log%%'' în subsecțiunea ''%%app_dev_check_history%%''. | + | - Dați comanda de verificare ''%%git log%%''. Detaliem outputul comenzii ''%%git log%%'' în subsecțiunea ''[[:uso:laboratoare:laborator-08#verificarea_istoricului_de_commituri | Verificarea istoricului de commituri]]''. |
- Creați un nou fișier numit ''%%merge-sort.c%%'' cu următorul conținut: | - Creați un nou fișier numit ''%%merge-sort.c%%'' cu următorul conținut: | ||
<code c> | <code c> | ||
Line 224: | Line 224: | ||
1 file changed, 1 insertion(+) | 1 file changed, 1 insertion(+) | ||
</code> | </code> | ||
- | Spre deosebire de secțiunea ''%%app_dev_create_new_commit%%'', unde comanda ''%%git status%%'' arăta că fișierul modificat (în acel caz, ''%%bubble-sort.c%%'') este nou (//new file//), acum comanda ''%%git status%%'' arată că fișierul modificat (în acest caz, ''%%README.md%%'') a fost modificat (//modified//). Deși apare această diferență în outputul comenzii ''%%git status%%'', pașii pentru crearea unui commit care conține un fișier nou sau unul deja existent (dar modificat) sunt aceiași. | + | Spre deosebire de secțiunea ''[[:uso:laboratoare:laborator-08#crearea_unui_nou_commit | Crearea unui nou commit]]'', unde comanda ''%%git status%%'' arăta că fișierul modificat (în acel caz, ''%%bubble-sort.c%%'') este nou (//new file//), acum comanda ''%%git status%%'' arată că fișierul modificat (în acest caz, ''%%README.md%%'') a fost modificat (//modified//). Deși apare această diferență în outputul comenzii ''%%git status%%'', pașii pentru crearea unui commit care conține un fișier nou sau unul deja existent (dar modificat) sunt aceiași. |
=== Exerciții === | === Exerciții === | ||
Line 273: | Line 273: | ||
Add README file | Add README file | ||
</code> | </code> | ||
- | Note | ||
+ | <note> | ||
Navigați prin outputul comenzii ''%%git log%%'' prin intermediul săgeților sus/jos. Apăsați tasta **q** când ați terminat de inspectat. | Navigați prin outputul comenzii ''%%git log%%'' prin intermediul săgeților sus/jos. Apăsați tasta **q** când ați terminat de inspectat. | ||
+ | </note> | ||
- | Note | + | <note> |
În cazul autorului acestui capitol, numele, prenumele și emailul sunt ''%%Liza Babu <lizababu@example.com>%%'', așa cum apare în exemplul de mai sus: ''%%Author: Liza Babu <lizababu@example.com>%%''. | În cazul autorului acestui capitol, numele, prenumele și emailul sunt ''%%Liza Babu <lizababu@example.com>%%'', așa cum apare în exemplul de mai sus: ''%%Author: Liza Babu <lizababu@example.com>%%''. | ||
+ | </note> | ||
Fiecare commit este identificat unic printr-un cod, numit **cod hash**((Codul hash este calculat ca o sumă de control [[https://en.wikipedia.org/wiki/SHA-1|SHA-1]] a conținutului commitului. | Fiecare commit este identificat unic printr-un cod, numit **cod hash**((Codul hash este calculat ca o sumă de control [[https://en.wikipedia.org/wiki/SHA-1|SHA-1]] a conținutului commitului. | ||
Line 311: | Line 312: | ||
* [new branch] master -> master | * [new branch] master -> master | ||
</code> | </code> | ||
- | În felul acesta commiturile locale au fost publicate ("împinse", //push//) din repository-ul local în repository-ul remote identificat de ''%%origin%%''. Commiturile locale se aflau pe branch-ul **master** din repository-ul **local** și au fost publicate tot în branch-ul **master** al repository-ului **origin**. Vorbim despre **branch-uri** în secțiunea ''%%app_dev_branches%%''. | + | În felul acesta commiturile locale au fost publicate ("împinse", //push//) din repository-ul local în repository-ul remote identificat de ''%%origin%%''. Commiturile locale se aflau pe branch-ul **master** din repository-ul **local** și au fost publicate tot în branch-ul **master** al repository-ului **origin**. Vorbim despre **branch-uri** în secțiunea ''[[:uso:laboratoare:laborator-08#lucrul_pe_branch-uri | Lucrul pe branch-uri]]''. |
Ca să verificăm publicarea commiturilor, folosim interfața GitHub: | Ca să verificăm publicarea commiturilor, folosim interfața GitHub: | ||
- | {{./img/GitHub-publish-commits.png}} | + | {{:uso:laboratoare:laborator-04:github-publish-commits.png?700}} |