Git
Gitin käyttö ryhmässä

Kehitystiimeissä on melko yleistä, että tiimi välttää (tai jopa estää) puskemisen suoraan päähaaraan. Ajatuksena on, että ennen kuin yksi kehittäjä voi lisätä koodinsa päähaaraan, tiimi tarkistaa koodin ja joko hyväksyy tai kieltää sen yhdistämisen päähaaraan. Tarkoituksena on pitää päähaara puhtaana bugeista.

Pull request

Kun kehittäjät alkavat lisämään uusia ominaisuuksia, he luovat uuden haaran (branch). Sitten he puskevat GitHubiin kyseisen haaran melko usein (esimerkiksi kerran päivässä). Ja kun ominaisuus on valmis, se halutaan yhdistää päähaaraan(main). Mutta sen sijaan, että he yhdistäisivät sen itse, he luovat Pull requestin GitHubissa. Sitten tiimi tarkistaa koodin ja päättää, hyväksyykö se pyynnön vai ei. Jos he hyväksyvät, joku heistä yhdistää haaran päähaaraan. Tämän jälkeen jokaisen jäsenen tulee vetää uusin main-versio paikalliseen repoonsa ja sitten yhdistää main-versio haaraan, jonka kanssa he työskentelevät tällä hetkellä.

Kehittäjä voi myös päättää, että hylkää koko branchin. Tällöin hän ei tee Pull requestia.

Jos haluat tehdä Pull requestin GitHubissa, sinun tulee valita valikosta Pull request, jolloin saat seuraavan näkymän

Kun klikkaat painiketta New pull request, saat seuraavan näkymän

Ja nyt kannattaa tarkistaa, että nuoli osoittaa oikeaan suuntaan

Pull requestin käsittely

Kun joku muu ryhmässäsi kirjautuu sisään GitHubiin, hän näkee Pull requestin. Ja sitten heidän pitäisi tehdä tämä

  1. Avaa Pull request
  2. Klikkaa "Add your review"
  3. Approve or Request changes
  4. Jos hän ei hyväksy koodia, hänen tulee kirjoittaa kommentti.
  5. Jos hän hyväksyy pyynnön, hän klikkaa "Merge pull request".
  6. Ja sitten hän klikkaa "Confirm merge""
Nyt hänen tulee ilmoittaa kaikille tiimin jäsenille, että heidän tulee vetää uusin päähaara.

Mergen jälkeen

Oletetaan, että työskentelet beaver-nimisen haaran kanssa ja kuulet, että main on päivitetty. Silloin sinun pitäisi tehdä näin:

  1. git add .
  2. git commit -m "commit in beaver"
  3. git checkout main
  4. git pull origin main
  5. git checkout beaver
  6. git merge main
Sitten voit jatkaa työtäsi beaver branchissä. Mutta jos tässä vaiheessa syntyy konflikti, se on ratkaistava.

Conflict
Git konflikti voi syntyä:
  1. PAIKALLISESTI: main on päivitetty GitHubiin ja haet sen pull komennolla. Sen jälkeen mergellä yhdistät mainin omaan branchiisi, mutta jossakin tiedostossa on jollakin rivillä eroa verrattuna sinun branchin tiedostoon.
  2. GITHUBISSA: main on päivitetty jonkin PullRequestin jälkeen. Nyt joku toinen puskee oman branchin, mutta hänellä ei ollut uusin versio mainista. Kun nyt yritetään tehdä "merge" mainiin, tulee mahdollisesti konflikti.

Oletetaan, että beaver branchissä tiedostossa test.php rivi 3 on tällainen:

echo 'Tervetuloa Jim';
Ja vedit uuden main version, jossa rivi 3 on tällainen:
echo "Tervetuloa Ann";
Joten kun suoritat komennon git merge main, saat virheilmoituksen:
Auto-merging test.php
CONFLICT (content): Merge conflict in test.php
Automatic merge failed; fix conflicts and then commit the result.
Ja kun avaat tiedoston test.php, näet seuraavan:
<<<<<<< HEAD
echo 'Welcome Jim'; in beaver
=======
echo 'Welcome Ann'; in login_system

>>>>>>> main
Nyt sinun on muokattava tiedostoa. Ja päätät muokata sen seuaavanlaiseksi:
echo 'Welcome Ann and Jim';
Eli siis edellinen korvaa kaiken mitä oli näiden rivien välissä
<<<<<<< HEAD

>>>>>>> main
Sitten suoritat seuraavat komennot:
  1. git add .
  2. git commit -m "conflict fixed"
Ja sitten voit jatkaa työskentelyä branchissä beaver.

Projektin käynnistäminen

Yksi tiimin jäsen alustaa projektin ja kaikki jäsenet kloonaavat repon. Ja sitten jokainen luo oman branchin.

Työn eteneminen

Kun alat tehdä sovellukseen uutta "ominaisuutta", luo uusi branch.

  1. Kommitoit usein ja pusket branchin silloin tällöin
  2. Jos saat uuden ominaisuuden toteutettua toimivasti, luot Pull Requestin
  3. Ryhmä tarkistaa koodisi
  4. Jos ryhmä hyväksyy koodin, se yhdistetään mainiin. Muuten sinun on korjattava jotain ja luotava sen jälkeen uusi PullRequest
  5. Jos ryhmä teki mergen, sinun tulee siirtyä mainiin ja suorittaa komento git pull origin main saadaksesi uusimman main version.
  6. Jos aiot tehdä toisen ominaisuuden, luot jälleen uuden branchin
  7. jne ....
Voit katsoa aiheeseen liittyvät ohjevideot sivulta
https://www.youtube.com/playlist?list=PLWl0bS7jZq9-a6ST5XMSPgfUeU7tXdunP

Alla olevassa kaavioissa on esitetty työskentelyn vaiheet



Toggle Menu