github tutorial developers how use github
Acest tutorial GitHub explică ce este GitHub și cum se creează o cerere de depozitare, ramificare și extragere. Include reguli de protecție a sucursalelor și soluționarea conflictelor:
Ce este GitHub?
GitHub este un serviciu cloud care ajută dezvoltatorii să stocheze și să gestioneze codul sursă, precum și să urmărească și să controleze toate modificările aduse codului sursă.
În termeni simpli, GitHub este destinat dezvoltatorilor în care pot gestiona proiectul, găzdui codul sursă și le pot revizui. Vom explora toate acestea în această serie.
Lista tutorialelor din această serie GitHub:
Tutorial nr. 1: Tutorial GitHub pentru dezvoltatori | Cum se folosește GitHub (Acest tutorial)
Tutorial nr. 2: Proiecte GitHub, echipe, furculițe și Wiki pentru documentarea proiectelor
Tutorial nr. 3: Comenzi avansate Git și tutorial de integrare GitHub
Tutorial # 4: Tutorial GitHub REST API - Suport REST API în GitHub
Tutorial # 5: Tutorial GitHub Desktop - Colaborați cu GitHub de pe desktop
Tutorial nr. 6: Tutorial TortoiseGit - Cum se utilizează TortoiseGit pentru controlul versiunilor
Ce veți învăța:
Ce este Git?
Git este un sistem de control al versiunii Open Source în care întregul cod sursă este disponibil pe computerul dezvoltatorului. Git este, de asemenea, un sistem de control al versiunilor client și distribuit (DVCS), unde puteți face ramificare și fuzionare.
Noțiuni introductive despre GitHub
Pentru a începe cu GitHub, vom efectua următorii pași.
- Creați un depozit pentru a organiza proiecte.
- Creați o sucursală
- Efectuați modificări la fișier și comiteți.
- Creați o cerere de extragere pentru a îmbina conținutul.
- Protejați ramura
În cea de-a doua parte a seriei, vom analiza și celelalte caracteristici ale GitHub, cum ar fi Organizarea creației, Echipele, Problemele, Etapele, Forks, Lansări și Wikis.
Creați un depozit GitHub
Un depozit GitHub conține artefacte ale proiectului, cum ar fi codul sursă, documente, imagini etc. Vom crea și vom folosi un depozit demo pentru a efectua toți pașii de mai sus.
Conectați-vă la Github.com și Creați un depozit nou . Faceți clic pe Nou buton.
Adăugați detaliile de repo de mai jos așa cum se arată și faceți clic pe Creați un depozit . Setați accesul la privat sau public. Este mai bine să o setați la public, deoarece puține funcții depind de acest acces.
Notă: Utilizatorul care creează depozitul este proprietarul depozitului GitHub.
Depozitul este creat cu un fișier README.
Adăugarea de colaboratori în depozitul GitHub
Am dori ca echipa să lucreze la acest depozit. Pentru aceasta, va trebui să invităm colaboratorii să lucreze la depozit. Pentru a adăuga colaboratori, accesați pagina principală a depozitului și faceți clic pe Setări pictogramă.
Click pe Colaboratori în panoul din stânga și adăugați colaboratorii care au cont Github. O invitație ar fi trimisă și colaboratorii ar trebui să accepte invitația.
Colaboratorii sunt adăugați așa cum se arată mai jos. Mai târziu, în acest tutorial, vom vedea cum vor fi adăugați colaboratorii ca revizuitor pentru solicitarea de pull creată pentru a îmbina codul.
Efectuarea unui C de bază ommit
Deschideți fișierul README și efectuați un commit de bază. Faceți clic pe Pictogramă de editare pentru a începe modificarea fișierului.
Modificați fișierul, adăugați un comentariu și faceți clic pe Angajează-te .
Fișierul este trimis (modificările salvate) în Github Repository.
Vor fi văzute câteva operații pentru a crea folder și fișiere în interiorul depozitului.
Pentru a crea folderul și un fișier în: Faceți clic pe Creați un fișier nou buton la nivelul depozitului. Tastați numele directorului urmat de / și numele fișierului așa cum se arată mai jos.
Click pe Angajează-te în partea de jos. Dosarul și fișierul sunt create așa cum se arată. Astfel, fișierele și folderele sunt create pe maestru ramură care este principala ramură de integrare și mai ales în care pot fi construite versiunile software.
Dezvoltatorii lucrează în mod normal la sarcina care le-a fost atribuită pe o ramură separată și îmbină modificările la ramura principală. De exemplu, sucursalele pot fi create pentru dezvoltarea caracteristicilor sau rezolvarea erorilor sau lucrul la îmbunătățiri etc. Astfel, prin crearea unei ramificări, munca este izolată fără a deranja celelalte ramuri.
În pasul următor, putem analiza modul în care pot fi create sucursalele și pot fi definite cererile de extragere pentru a revizui și îmbina codul în ramura principală.
Mutarea unui fișier
Pentru a muta un fișier în alt folder, urmați pașii următori. De exemplu, pentru a muta fișierul rules.txt într-un folder doc. Faceți clic pe fișier.
Faceți clic pe pictogramă pentru a edita fișierul.
Adăugați calea doc / înainte de dosar reguli.txt . Click pe Modificați comitetele.
Calea este acum actualizată.
Crearea unei filiale GitHub
Accesați pagina principală a depozitului și tastați pentru a crea un caracteristică ramură așa cum se arată. Click pe Creați sucursală.
Suntem acum în caracteristică ramură. Fișierele sunt aceleași. Acum vom face unele modificări la fișierele din caracteristică ramificați și creați o cerere de extragere pentru a revizui modificările și pentru a îmbina codul în maestru ramură.
Efectuați modificări la fișierele din ramura de funcții.
Deschideți fișierul Java din folderul Src și adăugați cod și comiteți modificarea.
Creați o solicitare de extragere GitHub
În secțiunea anterioară, am creat o ramură caracteristică și a făcut câteva modificări într-un fișier. Modificările nu sunt în maestru ramură. Pentru aceasta, trebuie să creăm o cerere de extragere prin care utilizatorul propune anumite modificări care să fie revizuite și combinate în maestru ramură.
Crearea Pull Request va afișa diferențele dintre ramura sursă și țintă și va trebui să rezolve conflictele, dacă există.
Click pe Cerere de comparare și extragere pe pagina principală a depozitului.
Puteți vedea că modificările între ambele ramuri pot fi combinate. Click pe Creați o cerere de extragere.
Click pe Solicitare Merge Pull și A confirma pentru a finaliza îmbinarea.
Modificările sunt îmbinate cu succes în maestru ramură. Prima noastră solicitare Pull este finalizată cu succes.
Atribuiți examinatori cu cereri de extragere și revizuirea codului
Github are o caracteristică bună de a utiliza un fișier CODEOWNERS în care putem selecta persoanele responsabile pentru codul sursă din depozit. Proprietarii de depozite pot crea acest fișier și orice utilizator definit în fișier este solicitat în mod implicit pentru revizuire în timpul creării cererii de extragere.
Pentru a utiliza această caracteristică, trebuie să utilizați versiunea GitHub Pro sau să faceți public depozitul.
În rădăcina depozitului, creați acest fișier în următorul format și comandați fișierul.
* @username sau @orgname sau @teamname
* înseamnă în primul rând toate fișierele din repo. De asemenea, puteți specifica extensii specifice precum * .java sau * .js etc. Utilizatorilor definiți în fișier li se va trimite automat o cerere de revizuire. Cu fișierul CODEOWNERS definit, nu este nevoie să adăugați în mod explicit recenzori manual și are ceva mai multă flexibilitate pentru a alege ce fișiere să fie revizuite.
Înapoi în caracteristică branch face o mică modificare a fișierului Java și creează o cerere Pull. În ecranul Pull Request, atribuiți un recenzor în partea dreaptă. Click pe Creați o cerere de extragere.
Puteți vedea în ecranul de mai sus că examinatorii pot fi atribuiți manual, dar examinatorii sunt definiți în fișierul CODEOWNERS, care va primi automat o cerere de revizuire a modificărilor codului.
Oricum, deocamdată, haideți Logare ca revizuitor și aprobă modificările. Conectați-vă ca utilizator vniranjan2512 pentru a aproba modificările.
Există o cerere de aprobare / respingere a modificărilor, în secțiunea Trageți cererea.
Faceți clic pe Solicitare de extragere și Adăugați recenzia dvs.
Puteți face clic pe + semnează și adaugă comentarii de recenzie pentru linia de cod Adăugat / Modificat / Șters, pe ecranul care apare.
Click pe Începeți o recenzie.
Click pe Finalizați recenzia. Aprobați așa cum se arată și Trimite recenzie .
Înapoi ca utilizator inițial care a ridicat o cerere de extragere, puteți adăuga un comentariu și rezolva sau închide conversația.
Cererea de extragere Merge poate fi acum finalizată.
Modificările sunt îmbinate cu succes în maestru filiala postează revizuirea și fuzionează cererea de extragere.
Deci, pentru a rezuma în această etapă, am văzut că dezvoltatorii lucrează la caracteristică ramură și apoi ridicați o cerere de extragere pentru a îmbina modificările la maestru ramură. Cele de mai sus erau un scenariu în care conflictele nu existau. În secțiunea următoare, vom vedea modalitățile de rezolvare a conflictelor manual dacă fișierele sunt schimbate în mai multe ramuri.
Rezolvarea conflictelor
Este posibil ca aceleași fișiere din mai multe ramuri să fie modificate. În acest caz, ar exista conflicte și trebuie rezolvate prin solicitarea de extragere ridicată.
De exemplu, face modificări la fișierul Java atât în maestru și caracteristică ramuri și ridicați o cerere de tragere.
Mesajul de solicitare de extragere afișat este că modificările nu pot fi combinate automat. Prin urmare, conflictele trebuie rezolvate. Continuați pentru a crea o cerere de extragere.
Odată ce Solicitarea de extragere este ridicată, conflictele vor trebui rezolvate făcând clic pe Rezolvați conflictele buton.
Eliminați marcajele care rezolvă în mod manual conflictele și faceți clic pe Marcați ca rezolvat și Comitere fuzionare.
Vizualizarea finală a fișierului după eliminarea marcajelor.
Cererea de extragere a îmbinării poate fi finalizată. maestru și caracteristică ramurile vor fi acum identice.
Puteți vedea în continuare în ecranul de mai sus că revizuirea este solicitată, dar nu este obligatorie. În secțiunea următoare, vom vedea despre regulile de protecție a sucursalei în care proprietarul depozitului poate solicita în mod obligatoriu o revizuire și, de asemenea, poate proteja maestru ramură de la angajarea directă la aceasta, dar numai printr-o cerere de tragere.
Reguli de protecție a sucursalelor
În secțiunile anterioare, am văzut despre solicitările de extragere Github și, de asemenea, solicitarea de recenzii care nu au fost obligatorii sau opționale. În codul scenariilor tipice de proiect, recenziile sunt o necesitate și o parte a procesului de dezvoltare.
Să vedem cum să impunem acest lucru.
În github.com această caracteristică poate fi setată numai pentru depozite publice sau utilizând versiunea Github pro. Pe pagina principală a depozitului, accesați Setări și faceți clic pe Ramuri categoria din stânga.
Click pe Adăugați o regulă sub Norme de protecție a ramurilor. Regula a adăugat cereri de revizuiri obligatorii ale cererilor de extragere de la proprietarii de coduri înainte de a fuziona pentru maestru ramură.
Acest lucru va asigura, de asemenea, că ramură principală este protejat și nu se pot efectua angajamente directe pe această sucursală și pot fi angajate numai prin intermediul Solicităților Pull după o revizuire amănunțită. Această setare este setată de proprietarul depozitului.
O mare caracteristică într-adevăr !!!
Click pe Crea odata facut. Pentru a testa acest scenariu, modificați un fișier din caracteristică ramificați și creați o cerere de extragere.
Următorul ecran arată că o revizuire este obligatorie necesară de către proprietarii codului.
Postați recenzia de la proprietarii de cod, solicitarea de extragere poate fi combinată.
În calitate de colaborator al depozitului, dacă faceți modificări la oricare dintre fișiere, din cauza regulilor de ramuri protejate create, nu veți putea să vă angajați direct în ramura principală, ci doar printr-o Pull Request după crearea unei ramuri, după cum se arată de mai jos.
Transferul unui depozit într-un alt cont de utilizator
În mod normal, un depozit personal de utilizatori are un singur proprietar și toți ceilalți sunt colaboratori. Deci, într-un sens că nu puteți avea mai mulți proprietari într-un depozit de cont de utilizator. Dar proprietatea poate fi transferată către alt cont de utilizator. La final, proprietarul original al depozitului devine automat colaboratori în noul depozit al contului de utilizator.
Noul proprietar poate începe apoi să administreze artefactul, problemele, cererile de extragere, proiectele, lansările și setările.
În mod normal, când comenzile precum „git clone” sau „git push” sunt efectuate în depozitul local, comenzile vor fi redirecționate către noul depozit. Dar când rulați comanda ‘git remote -v’, aceasta va afișa în continuare adresa URL originală a depozitului. Pentru a evita confuzia, treceți la noua adresă URL de la distanță, încărcați depozitul folosind comanda „git remote set-url”.
Pentru a transfera un depozit, accesați fila Setări a depozitului și sub Opțiuni? Danger Zone faceți clic pe Transfer
Introduceți numele depozitului și noul cont de utilizator căruia trebuie să i se transfere dreptul de proprietate.
Faceți clic pe Înțeleg, transferați acest depozit
Ar trebui să vedeți un mesaj care arată că depozitul este transferat noului proprietar.
Un e-mail va fi trimis proprietarului original al depozitului pentru a aproba transferul. Odată ce transferul este aprobat, depozitul va fi transferat noului proprietar și proprietarul original al depozitului va fi adăugat ca colaborator.
Acum setați noua adresă URL a depozitului în mașina unde a fost clonat vechiul depozit. Următoarele comenzi trebuie setate în toate mașinile în care vechiul depozit a fost clonat.
Toate cererile de extragere, problemele, wiki vor fi transferate. Sarcinile de emisiuni vor rămâne intacte.
Unele comenzi utile Git
Există câteva dintre comenzile Git de bază care trebuie configurate inițial pe computerul dvs. local după ce clientul Git este instalat pe computerul dvs. Linux sau Windows. Dezvoltatorii lucrează local, fără conexiune la depozitul de pe GitHub, la copia completă a codului sursă disponibil pe GitHub și se sincronizează cu acesta.
În primul rând, setați-vă numele de utilizator și adresa de e-mail pentru a vă asigura că toate angajamentele pe care le utilizați folosesc aceste informații.
git config –nume global user.name „UserName”
git config –utilizator global.email „myemail@myemail.com”
Când trebuie să adăugați un mesaj în timpul efectuării comitetelor, puteți configura și editorul necesar pentru același lucru.
cum să redați fișiere SWF pe Windows
git config –global core.editor notepad
Obțineți o listă cu toate valorile de configurare setate.
git config –list
Uneori organizațiile au servere proxy pentru conectarea la internet. În acest caz, va trebui să specificați un server proxy și un număr de port pentru a accesa toate depozitele de pe GitHub.
git config –global http.proxyhttp: // Nume utilizator: Parola @ proxyserver: port
Clonați sau faceți o copie locală a depozitului. Obțineți adresa URL de clonare a depozitului în GitHub și rulați comanda git.
Concluzie
În acest tutorial, am văzut cum un dezvoltator poate începe să lucreze pe GitHub, chiar de la Crearea unui depozit GitHub, Sucursală, Pull Request, Protejarea unei ramuri și câteva comenzi Git de bază.
În viitorul nostru tutorial, vom vedea celelalte caracteristici ale GitHub în principal despre cum să creați organizații, echipe, să creați un depozit, să creați probleme, repere și să asociați cereri de extragere, wiki și utilizările acestora și câteva alte comenzi Git avansate care vă vor fi utile. dezvoltatorilor.
Lectură recomandată
- Tutorial de reflecție Java cu exemple
- Git vs GitHub: Explorați diferențele cu exemple
- Tutorial Python DateTime cu exemple
- Integrarea seleniului cu GitHub folosind Eclipse
- Un ghid rapid SoapUI pentru stocarea datelor de solicitare și răspuns într-un fișier - Tutorial SoapUI nr. 15
- Tutorial Bugzilla: Instrument practic de gestionare a defectelor
- 20+ Tutorial MongoDB pentru începători: curs gratuit MongoDB
- Tutorial MongoDB Sharding cu exemplu