github tutorial developers how use github
Denne GitHub-tutorial forklarer, hvad der er GitHub, og hvordan man opretter et arkiv, en filial- og pullanmodning. Det inkluderer regler for filialbeskyttelse og konfliktløsning:
Hvad er GitHub?
GitHub er en skytjeneste, der hjælper udviklere med at gemme og administrere deres kildekode samt spore og kontrollere alle ændringer i kildekoden.
Enkelt sagt er GitHub beregnet til udviklere, hvor de kan styre projektet, være vært for kildekoden og gennemgå dem også. Vi vil undersøge alle disse i denne serie.
Liste over vejledninger i denne GitHub-serie:
Tutorial # 1: GitHub-vejledning til udviklere | Sådan bruges GitHub (Denne vejledning)
Tutorial # 2: GitHub-projekter, teams, gaffel og wiki til dokumentation af projekter
Tutorial # 3: Avancerede Git-kommandoer og GitHub-integrationsvejledning
Tutorial # 4: GitHub REST API Tutorial - REST API Support i GitHub
Tutorial # 5: GitHub Desktop Tutorial - Samarbejd med GitHub fra dit skrivebord
Tutorial # 6: TortoiseGit Tutorial - Sådan bruges TortoiseGit til versionskontrol
Hvad du vil lære:
Hvad er Git?
Git er et open source versionskontrolsystem, hvor hele kildekoden er tilgængelig på udviklerens maskine. Git er også et klient- og distribueret versionskontrolsystem (DVCS), hvor du kan udføre forgrening og fletning.
Kom godt i gang med GitHub
For at komme i gang med GitHub udfører vi følgende trin.
- Opret et lager for at organisere projekter.
- Opret en filial
- Foretag ændringer i filen og forpligt dig.
- Opret en trækanmodning for at flette indholdet.
- Beskyt gren
I den anden del af serien ser vi også på de andre funktioner i GitHub som Oprettelse af organisation, Teams, Issues, Milepæle, Forks, Releases og Wikis.
Opret et GitHub-arkiv
Et GitHub-arkiv indeholder projektets artefakter såsom kildekode, dokumenter, billeder osv. Vi opretter og bruger et demo-arkiv til at udføre alle ovenstående trin.
Log ind på Github.com og Opret et nyt lager . Klik på Ny knap.
Tilføj nedenstående repo detaljer som vist og klik på Opret lager . Indstil adgang til enten privat eller offentlig. Det er bedre at indstille det til offentligheden, da få funktioner er afhængige af denne adgang.
Bemærk: Brugeren, der opretter lageret, er ejeren af GitHub-lageret.
Datalageret oprettes med en README-fil.
Tilføjelse af samarbejdspartnere til GitHub-arkivet
Vi vil gerne have, at holdet arbejder på dette lager. Til dette bliver vi nødt til at invitere samarbejdspartnerne til at arbejde på arkivet. For at tilføje samarbejdspartnere skal du gå til hovedsiden i arkivet og klikke på Indstillinger ikon.
Klik på Samarbejdspartnere i venstre rude og tilføj de samarbejdspartnere, der har en Github-konto. En invitation ville blive sendt, og samarbejdspartnerne skulle acceptere invitationen.
Medarbejdere tilføjes som vist nedenfor. Senere i denne vejledning vil vi se, hvordan Collaborators vil blive tilføjet som korrekturlæser for den pull-anmodning, der er oprettet for at flette koden.
Udførelse af en grundlæggende C udelad
Åbn README-filen, og udfør en grundlæggende forpligtelse. Klik på Rediger ikon for at begynde at ændre filen.
Rediger filen, tilføj en kommentar og klik på Begå .
Filen er forpligtet (ændringer gemt) til Github Repository.
Få handlinger til at oprette mappe og filer inde i arkivet ses.
Sådan oprettes en mappe og en fil i: Klik på Opret ny fil -knappen på arkivniveau. Indtast navnet på biblioteket efterfulgt af / og navnet på filen som vist nedenfor.
Klik på Begå på bunden. Mappen og filen oprettes som vist. Således oprettes filerne og mapperne på mestre filial, som er den vigtigste integrationsfilial og mest hvor softwareudgivelser kan bygges.
Udviklerne arbejder normalt med den opgave, der er tildelt dem, i en separat gren og fletter ændringerne til mastergrenen. For eksempel, grene kan oprettes til funktionsudvikling eller løsning af fejl eller arbejde på forbedringer osv. Ved at oprette en gren er arbejdet således isoleret uden at forstyrre de andre grene.
I det næste trin kan vi se på, hvordan filialer kan oprettes, og trækanmodninger defineres for at gennemgå og flette koden i mastergrenen.
Flytning af en fil
Gør følgende for at flytte en fil til en anden mappe. For eksempel, for at flytte filreglerne.txt til en doc-mappe. Klik på filen.
Klik på ikonet for at redigere filen.
Tilføj stien doc / før filen regler.txt . Klik på Forpligt ændringer.
Stien er nu opdateret.
Oprettelse af en GitHub-filial
Gå til hovedsiden i arkivet, og skriv for at oprette en funktion gren som vist. Klik på Opret filial.
Vi er nu i funktion afdeling. Filerne er de samme. Vi vil nu foretage nogle ændringer af filerne i funktion filial og opret en pull-anmodning for at gennemgå ændringerne og flette koden i mestre afdeling.
Foretag ændringer i filerne i funktionsgrenen.
Åbn Java-filen i Src-mappen, og tilføj noget kode, og begiv ændringen.
Opret en GitHub Pull-anmodning
I det forrige afsnit oprettede vi en gren funktion og foretog nogle ændringer i en fil. Ændringerne er ikke i mestre afdeling. Til dette er vi nødt til at oprette en Pull-anmodning, hvormed brugeren foreslår, at visse ændringer gennemgås og flettes i mestre afdeling.
Oprettelse af pullanmodning viser forskellene mellem kilden og målgrenen og kræves for at løse eventuelle konflikter.
Klik på Sammenlign & træk anmodning på arkivets hovedside.
Du kan se, at ændringerne på tværs af begge grene kan flettes. Klik på Opret trækanmodning.
Klik på Anmodning om flet træk og Bekræfte for at gennemføre fusionen.
Ændringer flettes med succes i mestre afdeling. Vores første Pull-anmodning er gennemført.
Tildel korrekturlæsere med anmodninger om træk og gennemgang af kode
Github har en god funktion ved at bruge en CODEOWNERS-fil, hvor vi kan vælge de personer, der er ansvarlige for kildekoden i arkivet. Repository-ejere kan oprette denne fil, og alle brugere, der er defineret i filen, bliver som standard anmodet om gennemgang under oprettelse af pull-anmodning.
For at bruge denne funktion skal du bruge GitHub Pro-versionen eller gøre lageret offentligt.
I roden til arkivet skal du oprette denne fil i følgende format og forpligte filen.
* @ brugernavn eller @orgname eller @teamname
* betyder primært alle filerne i repoen. Du kan også specificere specifikke udvidelser som * .java eller * .js osv. De brugere, der er defineret i filen, får automatisk en anmodning om gennemgang. Med CODEOWNERS-filen defineret er der ikke behov for eksplicit at tilføje korrekturlæsere manuelt og har lidt mere fleksibilitet til at vælge, hvilke filer der skal gennemgås.
Tilbage i funktion gren foretager en lille ændring af Java-filen og opretter en Pull Request. På skærmbilledet Træk anmodning tildeles en korrekturlæser i højre side. Klik på Opret trækanmodning.
Du kan se i ovenstående skærmbillede, at korrekturlæserne kan tildeles manuelt, men korrekturlæserne er defineret i CODEOWNERS-filen, der automatisk får en anmodning om at gennemgå kodeskiftene.
Lad os alligevel lige nu Log på som korrekturlæser og godkende ændringerne. Log ind som bruger vniranjan2512 for at godkende ændringerne.
Der er en anmodning om at godkende / afvise ændringerne under Træk anmodning.
Klik på trækanmodningen og Tilføj din anmeldelse.
Du kan klikke på + underskriv og tilføj anmeldelseskommentarer til kodelinjen Tilføjet / modificeret / slettet på den skærm, der kommer op.
Klik på Start en anmeldelse.
Klik på Afslut din anmeldelse. Godkend som vist og Indsend anmeldelse .
Tilbage som den oprindelige bruger, der rejste en pull-anmodning, kan du tilføje en kommentar og løse eller lukke samtalen.
Anmodningen om flet træk kan nu gennemføres.
Ændringerne flettes med succes i mestre filial efter gennemgang og fletning af pull-anmodningen.
Så for at opsummere på dette stadium har vi set, at udviklere arbejder på funktion gren, og hæv derefter en Pull-anmodning for at flette ændringerne til mestre afdeling. Ovenstående var et scenario, hvor konflikter ikke var der. I det næste afsnit vil vi se måderne til manuelt at løse konflikter, hvis filerne ændres i flere grene.
Løsning af konflikter
Det er muligt, at de samme filer i flere grene ændres. I dette tilfælde ville der være konflikter og skal løses gennem den hævede trækanmodning.
For eksempel, foretage ændringer i Java-filen i begge mestre og funktion grene og hæve en trækanmodning.
Den viste pull-anmodningsmeddelelse er, at ændringerne ikke automatisk kan flettes. Derfor skal konflikterne løses. Fortsæt med at oprette en Pull-anmodning.
Når Pull Request er rejst, skal konflikterne løses ved at klikke på Løs konflikter knap.
Fjern markeringerne, der i det væsentlige løser konflikter manuelt, og klik på Marker som løst og Foretag fusion.
Den endelige visning af filen efter markering fjernes.
Merge pull anmodning kan udfyldes. Det mestre og funktion grene vil nu være identiske.
Du kan stadig se på ovenstående skærmbillede, at der anmodes om gennemgang, men ikke mandat. I det næste afsnit vil vi se om reglerne for filialbeskyttelse, hvor ejeren af arkivet obligatorisk kan anmode om en gennemgang og også beskytte mestre gren fra at forpligte sig direkte til det, men kun gennem en pull-anmodning.
Regler for filialbeskyttelse
I de foregående afsnit så vi om Github Pull-anmodninger og anmodede også om anmeldelser, der ikke var mandat eller valgfri. I en typisk projektscenariekode er anmeldelserne et must og en del af udviklingsprocessen.
Lad os se, hvordan vi håndhæver dette.
På github.com kan denne funktion kun indstilles til offentlige arkiver eller ved hjælp af Github pro-versionen. Gå til arkivets hovedside Indstillinger og klik på Grene kategori til venstre.
Klik på Tilføj regel under Regler for filialbeskyttelse. Reglen tilføjede anmodninger om obligatorisk gennemgang af anmodninger om trækanmodning fra kodeejerne, før de flettes til mestre afdeling.
Dette vil også sikre, at mester gren er beskyttet, og der kan ikke foretages direkte forpligtelser på denne gren og kan kun begås gennem Pull-anmodningerne efter en grundig gennemgang. Denne indstilling indstilles af lagerets ejer.
En fantastisk funktion faktisk !!!
Klik på skab en gang færdig. For at teste dette scenario skal du ændre en fil i funktion filial og opret en pull-anmodning.
Følgende skærmbillede viser, at kodeejerne obligatorisk kræver en gennemgang.
Efter anmeldelse fra kodeejere kan pull-anmodningen flettes.
Hvis du foretager ændringer i nogen af filerne på grund af de oprettede regler for de beskyttede grene, kan du som en samarbejdspartner i arkivet ikke være i stand til at forpligte sig direkte til mastergrenen, men kun gennem en Pull-anmodning efter oprettelse af en gren som vist under.
Overførsel af et lager til en anden brugerkonto
Normalt har et personligt brugerregister en enkelt ejer, og alle andre er samarbejdspartnere. Så på en måde, at du ikke kan have flere ejere i et brugerkontoopbevaringssted. Men ejerskabet kan overføres til en anden brugerkonto. Når det er gjort, bliver den oprindelige lagerindehaver automatisk samarbejdspartnere i det nye brugerkontos lager.
Den nye ejer kan derefter begynde at administrere artefakterne, problemer, pull-anmodninger, projekter, udgivelser og indstillinger.
Normalt når kommandoer som 'git clone' eller 'git push' udføres i det lokale lager, omdirigeres kommandoerne til det nye lager. Men når du kører kommandoen 'git remote -v', vil den stadig vise den originale lager-URL. For at undgå forvirring for at skifte til den nye eksterne URL, skal du sende overførslen af lageret ved hjælp af kommandoen 'git remote set-url'.
For at overføre et lager skal du gå til fanen Indstillinger i lageret og under Valgmuligheder? Farezone klik på Overførsel
Indtast lagernavnet og den nye brugerkonto, som ejerskabet skal overføres til.
Klik på Jeg forstår, overfør dette lager
Du skal se en besked om, at lageret overføres til den nye ejer.
Der sendes en mail til den oprindelige lagerindehaver for at godkende overførslen. Når overførslen er godkendt, overføres arkivet til den nye ejer, og den oprindelige lager ejer tilføjes som en samarbejdspartner.
Indstil nu den nye URL-adresse til arkivet i maskinen, hvor det gamle lager blev klonet. Følgende kommandoer skal indstilles i alle maskiner, hvor det gamle lager blev klonet.
Alle pullanmodninger, problemer, wiki overføres. Udstedelsesopgaver forbliver intakte.
Nogle nyttige Git-kommandoer
Der er nogle af de grundlæggende Git-kommandoer, der oprindeligt skal konfigureres på din lokale maskine, når Git-klienten er installeret på din Linux- eller Windows-maskine. Udviklere arbejder lokalt uden forbindelse til lageret på GitHub med den fulde kopi af kildekoden, der er tilgængelig på GitHub, og synkroniseres med den.
For det første skal du indstille dit brugernavn og din e-mail-adresse for at sikre, at alle forpligtelser, du bruger, disse oplysninger.
git config –global user.name “UserName”
git config –global user.email “myemail@myemail.com”
Når du skal tilføje en besked under forpligtelser, kan du også konfigurere den nødvendige editor til den samme.
bedste gratis anti spyware windows 10
git config –global core.editor notesblok
Få en liste over alle indstillede konfigurationsværdier.
git config – liste
Nogle gange har organisationer proxyservere til at oprette forbindelse til internettet. I så fald skal du angive en proxyserver og et portnummer for at få adgang til alle lagre på GitHub.
git config –global http.proxyhttp: // Brugernavn: Adgangskode @ proxyserver: port
Klon eller lav en lokal kopi af arkivet. Få klon-URL til lageret i GitHub og kør git-kommandoen.
Konklusion
I denne vejledning har vi set, hvordan en udvikler kan begynde at arbejde på GitHub lige fra Oprettelse af et GitHub Repository, Branch, Pull Request, Beskyttelse af en gren og nogle grundlæggende Git-kommandoer.
I vores kommende vejledning vil vi se de andre funktioner i GitHub primært om, hvordan man opretter organisationer, teams, forkaster et lager, opretter problemer, milepæle og tilknytning til pullanmodninger, wiki'er og deres anvendelser og få andre avancerede Git-kommandoer, der vil være nyttige til udviklerne.
Anbefalet læsning
- Java Reflection Tutorial med eksempler
- Git vs GitHub: Udforsk forskellene med eksempler
- Python DateTime-tutorial med eksempler
- Selenintegration med GitHub ved hjælp af formørkelse
- En hurtig SoapUI-guide til lagring af anmodnings- og svardata i en fil - SoapUI-vejledning nr. 15
- Bugzilla Tutorial: Defect Management Tool Hands-on Tutorial
- 20+ MongoDB-vejledning til begyndere: Gratis MongoDB-kursus
- MongoDB Sharding Tutorial med eksempel