Skip to content

2. Cum pot să ajut

Mircea MATEI edited this page Feb 18, 2019 · 8 revisions

Cum pot să ajut

Oricine dorește să fie de ajutor, e binevenit!

Înainte de toate

  1. Fă-ți un cont pe Github. E gratuit!
  2. Citește fișierul CONTRIBUTING

Vreau doar să semnalez greșeli

  1. Vizitează pagina issues și generează un nou "issue". Ai două variante:
  • Raport erori formatare
  • Raportare ortografică

Selecteaza raportul dorit. Se va deschide un formular preformatat. Completează secțiunile. În titlu fii concis. În descriere fii clar.

Vreau să propun o funcționalitate nouă

Folosește acest șablon de "issue". Așterne-ți ideile!

Vreau să particip cu conținut

Dacă vrei să participi cu conținut, atunci asigură-te că există un "issue" deschis, în a cărui rezolvare poți să contribui. Dacă nu există unul, atunci deschide tu unul în care să menționezi ce dorești să schimbi/rezolvi/contribui.

Cum? Pe scurt...

https://gist.github.com/Chaser324/ce0505fbed06b947d962

Cu o traducere aproximativă, plină de neologisme și argou IT-istic

  1. Fork-uiește proiectul în contul tău de github.
  2. Clone-ază local o copie de lucru.
  3. Creează un upstream remote și sincronizează copia de lucru locală, înainte de a genera un branch nou.
  4. Pentru fiecare set de modificări care rezolvă un issue, creează un Branch pe care îl vei denumi cu prefixul [Issue-nnn] unde nnn este numărul issue-lui.
  5. Fă modificările necesare, scrie un comentariu consistent și concludent pentru commit-uri.
  6. Push-uiește în repo-ul origin.
  7. Creează un nou Pull Request (PR) în GitHub.

Cum? Detaliat, detaliat, detaliat...

1. Fork

Un "Fork" reprezintă o derivație, în spațiul de lucru al altui utilizator, a proiectului original. Se poate dezvolta independent de sursa originală sau, în funcție de preferințe, poate aduce îmbunătățiri proiectului de origine.

Crearea unui fork

2. Clonează proiectul

Pentru a face modificări asupra proiectului, trebuie să creăm o copie locală în sistemul de fișiere al PC-ului. Deschide o fereastră de terminal (DOS, PowerShell, Bash). Rulează comenzile următoare:

git clone https://github.com/CONTUL-TĂU/manualul-radioamatorului.git
cd manualul-radioamatorului
git pull origin master

De exemplu, utilizatorul matei-ms a creat un fork din proiectul lui matei-tm. Mai departe, urmează pașii:

  • deschide git bash
  • creează un folder projects (în cazul în care acest folder nu există)
  • face curent noul folder
  • clonează repo-ul din fork-ul său
  • schimbă folderul în manualul-radioamatorului
  • pull branch-ul master

Crearea unei clone

3. Adaugă Upstream și sincronizează copia locală

Upstream

Deși acest lucru nu este un pas absolut necesar, dacă intenționați să faceți ceva mai mult decât o mică remediere rapidă, veți dori să vă asigurați că vă țineți "Fork-ul" (derivația) la zi prin urmărirea surselor originale ale proiectului manualului-radioamatorului. Pentru a face acest lucru, va trebui să rulați următoarele comenzi:

git remote add upstream https://github.com/matei-tm/manualul-radioamatorului
git remote -v

Adăugare upstream

Actualizează/sincronizează copia locală

Comenzile următoare se vor rula de fiecare dată când veți dori să vă actualizați proiectul derivat ("Fork"-uit) cu modificările apărute în proiectul original

git fetch upstream
git checkout master
git merge upstream/master

Un bun obicei este să rulați comenzile de mai sus cel puțin zilnic, înainte de a începe orice activitate pe proiectul derivat. Cu cât vă sincronizați mai des proiectul, cu atât probabilitatea de a apărea conflicte de actualizare este mai scăzută

Adăugare upstream

4. Crează un "Branch" (ramură de dezvoltare)

Pentru fiecare set de modificări care rezolvă un issue, creează un Branch pe care îl vei denumi cu prefixul [contribuie/nume_prenume/Issue-nnn] unde:

  • nume_prenume - este numele și prenumele tău, separate cu underscore
  • nnn - este numărul issue-lui.

Denumirea branch-ului va fi fără diacritice, cu minus în locul spațiilor

git checkout master
git checkout -b contribuie/NUMELETAU_PRENUMELETAU/Issue-NNN-O-denumire-concisa

De exemplu, pentru a adăugă conținut care rezolvă https://github.com/matei-tm/manualul-radioamatorului/issues/13, utilizatorul Matei Mara va crea un branch cu denumirea Issue-013-Adaugare-Continut (fără diacritice, cu minus în locul spațiilor) ... contribuie/matei_mara/Issue-013-Adaugare-Continut

Adăugare branch

5. Contribuie la conținut

Pentru uniformitate, citește Organizarea proiectului și Cum fac. Sunt indicații de editare și sfaturi referitoare la modul în care poți contribui. Fă modificările necesare, scrie un comentariu consistent și concludent pentru commit-uri. Mesajul commit-ului va fi prefixat, obligatoriu, cu numarul issue-ului la a cărui rezolvare participă. De exemplu, dacă participați la rezolvarea issue-ului 13, veți menționa #13. în antetul mesajului. Un astfel de mesaj poate fi #13. Am adăugat textul de la pagina 7

Conținutul editorilor va fi plasat doar în directorul src, conform celor precizate în Organizarea proiectului

git add -A
git commit -a -m '#nn. MESAJUL_TAU_DESPRE_MODIFICARI'

6. Push

Pentru a sincroniza modificările din noul branch, se execută comenzile:

git fetch upstream
git checkout master
git merge upstream/master
git checkout contribuie/NUMELETAU_PRENUMELETAU/Issue-NNN-O-denumire-concisa
git rebase master
git push --set-upstream origin contribuie/NUMELETAU_PRENUMELETAU/Issue-NNN-O-denumire-concisa

7. Pull request

Pull request reprezintă cererea de acceptare a modificărilor. E o acțiune simplă, executată din interfața web a github. Fiind logat pe contul tău github, deschide într-un browser web pagina fork-ului tău https://github.com/CONTUL-TĂU/manualul-radioamatorului/pulls
Efectuează un click pe Compare & pull requests