Tutorial pentru utilizarea Github Classroom

Credits: https://ocw.cs.pub.ro/courses/smd/laboratoare/00

Obiective:

  • Să vă creați un repository pe Github Classroom
  • Să vă amintiți noțiunile despre Github de la USO și să creați un pull request in repository-ul vostru privat de SD

Crearea unui repository pe Github Classroom

La Structuri de Date veți folosi Github Classroom pentru a primi feedback pe laboratoare. Înainte de a-l folosi, aveți nevoie de câțiva pași de configurare, pe care îi detaliem mai jos:

1. In primul rând, dacă nu aveți deja de la USO, va trebui să vă faceți un cont pe https://github.com. Puteți alege orice ID, dar numele trebuie să fie cel real. Altfel, nu vom ști cui să-i dam feedback pentru laboratoare.

2. Instalați utilitarul git astfel:

sudo apt-get install git

3. Asistentul și padawanul vă vor da un link de forma https://classroom.github.com/a/<some-random-chars>. Accesați-l și dați click pe Accept this assignment.

4. Dați refresh paginii după 1-2 minute. Pagina vă va afișa un link de forma https://github.com/sd-pub/31Xca-<your-github-id>.

5. Intrați pe acest link. Vă va duce la repository-ul vostru privat, unde veți încărca laboratoarele și unde asistenții și padawanii vă vor da feedback. Aici vă puteți încărca și temele. Pentru acestea, evident, nu le veți cere feedback asistenților și padawanilor.

Clonarea repository-ului

Repository-ul vostru este creat pe https://github.com/. Pentru a-i modifica fișierele, e nevoie să-l clonați (“descărcați”) local astfel:

1. Mai întâi, configurati-vă username-ul (cel al contului pe care l-ați creat anterior) și emailul:

student@sd $ git config --global user.name "your_github_username"
student@sd $ git config --global user.email "your_github_email"

2. Apoi, generati o pereche de chei (publică și privată) rulând comanda ssh-keygen. Apăsați Enter de 3 ori. Cheile au fost generate în directorul ~/.ssh/id_rsa (cheia privata) și ~/.ssh/id_rsa.pub (cheia publica).

student@sd $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/student/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/teo/.ssh/id_rsa
Your public key has been saved in /home/teo/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:SXnzjMdjYf2Q19y0Ca4VNQyE59NBYDsVD2/mbGhPFrQ student@sd
The key's randomart image is:
+---[RSA 3072]----+
|            oBBBo|
|         . .oo*OO|
|        o o ===E@|
|       . o Bo+.@.|
|        S ..B + B|
|           o o = |
|                .|
|                 |
|                 |
+----[SHA256]-----+

3. Copiați cheia publică (NU pe cea privată) pe Github, urmărind pașii de aici, începând cu pasul 2. Accesați cheia publică folosind comanda cat:

student@sd $ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDixFxqcaF25cs+zz6r8SN1SHJF2Ns2VKtvFDo6AYhCrbLV7Jt/Q10Wnv4hI+Ir4UHyr441Zh/ok/Kikk/22w/6o0sxqYsWlO7SJcyCo1hzGPknZEOlyk8R4LyAr5N8mMJ3ISW0C4H1OqlNe4a5apcrUgMgu5vC2R0gJBCTHV5W35HPwE2YlGUu2QllZUZtHxtEGhxpCvd2bA8pIm31sZ/30HnP8ojfmjozFSdseaR93/lnNn/5n9IYL1BM4hxdLg4Wg++vo1NlcMrxD2QUQWTVgPOg1wDGEoA6XBM5DHcYPFMimfylao7xrZH6LGSDuIY7k+a+vuJdeRoQNm4x1jkmQPC5yC7vi+4NpLRoMSyxZxYtoN11Nkzv2lAYUL3JcI9qwFsZuNY6nnxyVEYuyi5BxV7pRJShG3J8bs8p6um9vsgiholIq3AcLQwRA/dGb5dEHRDOjU7frYXrG4cMq1YW8ajr3CN4GFGLnyXvNxgFYWpKO9izsKPPFAOr9LinS+8= student@sd

4. Clonați local repository-ul pe care l-ați creat anterior și intrați în directorul nou creat. Linkul către repository îl puteți obține apăsând pe butonul Code de pe pagina repository-ului vostru.

student@sd $ git clone git@github.com:sd-pub/<31Xca-your-github-id>.git
student@sd $ cd <31Xca-your-github-id>

Adăugarea soluției unui laborator

Acum să ne aducem aminte de la USO cum să creăm commituri și cum să le adăugăm într-un pull request.

1. Creați un branch separat astfel:

student@sd $ git checkout master
student@sd $ git pull
student@sd $ git checkout -b lab<x>

Întotdeauna asigurați-vă că sunteți pe branchul master inainte să creați un branch nou! Pentru aceasta, rulați git checkout master și git pull înainte să creați un nou branch.

2. Rezolvați laboratorul.

3. Adăugați fișierele pe care le-ați editat astfel:

student@sd $ git add <path/to/files>

4. Creați un commit ce conține modificările adăugate anterior. Scrieți un mesaj de commit sugestiv și scurt, conform acestui ghid. Un mesaj de commit bun ar putea fi: lab<x>: Add solution:

student@sd $ git commit -m "lab<x>: Add solution"

5. Dați push commitului pe care tocmai l-ați creat, pentru a-l publica în repository-ul remote (cel de pe https://github.com). Folosiți parametrul -u origin lab<x> pentru a crea un nou branch în repository-ul remote, cu numele lab<x>:

student@sd $ git push -u origin lab<x>

6. Intrați pe pagina repository-ului vostru. Veți fi notificați că au fost făcute noi modificări pe branchul lab<x> și că puteți crea un nou pull request. Faceți acest lucru apăsând pe butonul Compare & pull request.

7. Dați un titlu sugestiv pull requestului și adaugați atât asistentul cât și padawanul ca revieweri. Doar unul dintre ei va apărea, dar amândoi vor fi notificați. Apoi apasați pe butonul Create pull request.

8. Felicitări! Ați terminat laboratorul. Așteptați feedbackul asistentului sau al padawanului și implementați sugestiile acestora.

sd-ca/laboratoare/tutorial-github-classroom.txt · Last modified: 2022/03/01 22:58 by teodor_stefan.dutu
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