Contribuția la proiectele open source are multe merite. În timp ce contribuiți la un astfel de proiect, veți învăța modul de dezvoltare profesional care este implementat de marile organizații. Asemenea abilități se dovedesc a fi foarte utile pentru carierele oamenilor și îi ajută să învețe lucruri pe care nu le pot învăța în timpul educației / muncii.
Acest articol a fost conceput pentru începători și dezvoltatori intermediari care doresc să contribuie la proiecte open source. Voi demonstra participarea la Proiectul Webmaker al Fundației Mozilla, pentru a vă explica modul în care puteți contribui efectiv la proiectele open source.
Vom trece prin întregul proces de implicare într-un proiect, de la înțelegerea regulilor de contribuție, folosind un cont GitHub și folosind Git pentru a utiliza eficient Bugzilla. Acest tutorial va demonstra modul în care puteți obține patch-urile dvs. integrate în codul de bază al unui proiect. Voi folosi exemplul unui bug vechi și simplu pe care l-am fixat, când tocmai am pornit contribuția open source.
În primul rând, va trebui să găsiți depozitul proiectului. De exemplu, vom lucra la Profil componenta Webmaker.
https://github.com/mozilla/webmaker-profile-2
Conectați-vă la contul dvs. GitHub și Furculiţă proiectul. După aceasta, veți avea depozitul cu furcă aflat sub numele dvs. de utilizator.
De exemplu, am avut următoarele:
https://github.com/tanay1337/webmaker-profile-2
Va trebui să aveți Git instalat pe sistemul dvs. Puteți citi instrucțiunile despre cum să faceți acest lucru.
În partea din dreapta jos, veți observa o cutie ca aceasta:
Puteți copia adresa URL pentru a clona depozitul din sistemul dvs. Acum, executați Git în modul linie de comandă și introduceți următoarea comandă.
git clone https://github.com/tanay1337/webmaker-profile-2.git
Aceasta va importa întregul cod în sistemul dvs. sub un folder numit webmaker-profile-2. Contribuțiile care contribuie sunt de obicei prezente într-un fișier numit CONTRIBUTING.md
și instrucțiunile de instalare se află în README.md
. Citiți aceste două documente foarte atent. Acestea conțin informații importante pentru dezvoltatori.
Acum, va trebui să găsiți câteva bug-uri relevante și ușor de început. Pentru toate proiectele legate de Mozilla puteți utiliza Bugs Ahoy pentru găsirea primelor bug-uri bune, precum și bug-uri mentor specifice setului dvs. de calificare. Mozilla utilizează Bugzilla pentru depunerea și gestionarea erorilor, precum și pentru gestionarea cererilor de caracteristici. Vă puteți conecta la Bugzilla folosind Persona. Odată ce găsiți o eroare relevantă, ar trebui să comentați acest bug care arată interesul dvs. pentru remedierea erorii.
De asemenea, puteți solicita ajutor în găsirea unui fișier specific în codul sursă unde bug-ul este prezent de la dezvoltatorii de la IRC-ul Mozilla. Sunt un grup foarte prietenos de oameni care vă vor ajuta cu plăcere să vă rezolvați primul bug. În cazul în care nimeni nu este online, încercați să adăugați o needinfo
steag pentru mentorul menționat în bug și el se va întoarce să vă ajute!
Acum, presupunând că ați rezolvat problema și ați efectuat modificările respective în fișiere local, va trebui să vedeți fișierele care au fost modificate local folosind sistemul de control al versiunilor. Doar tastați următoarea comandă în webmaker-profile-2
director.
git status
Acest lucru va oferi detaliile fișierelor modificate, precum și fișierele noi care au fost adăugate în repozitoriul local. Dacă sunteți mulțumit de fișierele care au fost modificate, adăugați fișierele modificate / noi în zona de așteptare.
adăugați git names_of_files
Dacă totul merge bine, atunci puteți să vă angajeze în siguranță fișierele.
git commit -m "Mesajul dvs. aici"
Asigurați-vă că comitetul dvs. nu conține spații albe sau linii noi inutile. Se consideră o bună practică numirea mesajului "Fixing Bug 1040556", din motive pe care vi le voi explica mai târziu în acest articol. Administratorii depozitului preferă dacă aveți o singură comandă pe solicitare de tragere. Deci, dacă aveți mai multe persoane să se angajeze la nivel local, trebuie să le refaceți.
git rebase -i HEAD ~ 2
Comanda de mai sus presupune că aveți două comitete și -eu
este steagul pentru rebazarea interactivă. Acesta va arăta cele două comitete împreună cu mesajele lor, care vor avea cuvântul alege
prefixat. Doar înlocuiți alege
cu suc de fructe
la unul dintre comitete și ești bine să pleci. Ecranul următor scutește împreună mesajele de comitere.
Felicitări, ați reangajat cu succes comitetele. Acum trebuie doar să împingeți modificările în depozitul GitHub.
git push
Sau dacă ați împins prima comisie și ați rebatinat ulterior, încercați următoarea comandă.
git push -f
Deschideți acum magazinul online și faceți clic pe butonul pentru Trage Cereri și deschideți o nouă cerere de tragere.
Se umple automat titlul solicitării de tragere din mesajul de comitere și arată diff (figura de mai jos arată diferența pentru cererea mea de tragere).
Felicitări, ați făcut prima dvs. solicitare de tragere. Dar trebuie să mai faceți încă câteva lucruri. Copiați adresa URL a solicitării dvs. de tragere și deschideți bug-ul la Bugzilla. Selectați Adăugați un atașament și inserați adresa URL a solicitării de tragere acolo. Bifați caseta de selectare care spune patch-ul și adăugați un steag de recenzie pentru mentorul tău.
Presupunând că patch-ul dvs. a fost corect, mentorul dvs. va îmbina solicitarea dvs. de tragere în depozitul principal, iar bug-ul va fi rezolvat automat de robotul github de la Bugzilla (acest lucru se întâmplă numai dacă numele cererii de comitere și tragere conțin numărul de eroare).
Nu este nimic atât de bucuros ca văd codul dvs. fiind fuzionat în baza principală de cod și fiind implementat pe site-ul principal care este utilizat de milioane de utilizatori!
Sper că ați reușit să urmați pașii pentru a rezolva primul bug la Webmaker sau la orice alt proiect similar cu sursă deschisă.