# Git perusteet 107

## Tavoite

{% hint style="info" %}
Suorita ensin [Git perusteet 106](/versionhallinta/git-perusteet-106.md)
{% endhint %}

Tehtävä tulee suorittaa usean henkilön kanssa. Yksittäin suoritusta ei voi tehdä. Tavoitteena on oppia hyödyntämään Git versionhallintaa kehitystiimin kanssa.

Ennen suoritusta sinulla pitää olla tehtynä Gitlab -tunnus. <https://gitlab.com/>

Ensimmäiseksi kehitystiimin kanssa, luokaa ensin yksi uusi yhteinen projekti Gitlabiin. Jakakaa käyttöoikeudet kaikille kehitystiimin jäsenille. Nyt yksi ryhmän jäsenistä työntää Gitlab repositoryyn ensimmäiset lähdekoodinsa. Voit käyttää \*Git perusteet 106\* tekemääsi esimerkkiä.

Seuraavana vaiheena muiden kehitystiimissä olevien kehittäjien on tarkoitus kloonata Gitlabissa oleva ohjelma omalle koneelleen.

Kolmantena vaiheena kaikki kehitystiimin jäsenet tekevät muutoksia lähdekoodeihin ja tekevät niistä merkintöjä versionhallintaan.

Neljäntenä vaiheena kehitystiimin jäsenet työntävät uudet muutokset Gitlab projektiin. Tämän seurauksena kaikkien tulee myös huolehtia, että muiden muutokset tulevat vedetyksi omaan paikalliseen repositoryyn.

Lopputuloksena jokaisella kehitystiimillä on paikallisessa repositoryssä sama versionhallinnan muutoshistoria kuin muilla kehitystiimin jäsenillä. Lisäksi Gitlabissa on sama historia näkyvillä.

Ota kuvakaappaus jokaisesta kehitystiimin jäsenen historiasta sekä Gitlabin historiasta.

## Huomioi tehdessä seuraavat asiat

* Mitä komentoja sinun tuli käyttää päästäksesi lopputulokseen?
* Mitä ongelmakohtia tuli vastaan, jotka jouduitte selvittämään?
* Sattuiko teille vastaan ns. "merge conflict"? Jos kyllä, miten selvititte tämän?
* Käytä esimerkin kanssa oikeaa projektipohjaa. Esimerkiksi konsoliprojekti Visual Studiossa. Ei yksittäisiä tekstitiedostoja missä ei ole mitään tarkoitusperää.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.sovelluskontti.com/versionhallinta/git-harjoitus-107.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
