# Een Git repository verkrijgen

## Zelf een Git repository initialiseren

Als je een project directory hebt, die op dit moment nog niet onder versiebeheer staat en je wilt het met Git beheren, moet je volgende stappen doorlopen:

{% hint style="success" %}

1. Maak een map aan waarin je al je Git projecten zult opslaan. en navigeer er naartoe.
2. Maak een map aan die zal dienen als working directory.
3. Noem deze map "GitProject1"
4. Start “Git cmd”, of een andere terminal en navigeer naar deze map.
5. Controleer de status van de map met <mark style="color:orange;">`git status`</mark> en kijk welke feedback je krijgt.
6. Initialiseer de map als een Git repository met <mark style="color:orange;">`git init`</mark>.
7. Controleer de status van de map opnieuw.
8. Bekijk ook eens de inhoud van de map (zorg er ook voor dat je verborgen inhoud toont!), nu je er een Git repository van gemaakt hebt. De verborgen map **.git** is nu toegevoegd.

<details>

<summary>Oplossing</summary>

<img src="https://1633044495-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCY7jofLvHZLUwlQLNxqF%2Fuploads%2F9hF51U5bFldwFvKZYF05%2Fgit%20init.gif?alt=media&#x26;token=abf9418d-7508-48f1-9ad5-e1ed3370c3d1" alt="" data-size="original">

</details>
{% endhint %}

## Een bestaande repository klonen

Wanneer je met meerdere personen aan 1 project wil werken, moet dit project ergens centraal worden opgeslagen. 1 persoon start het project, maakt het Git project aan plaatst dit online (hoe dit gebeurd zien we later). Daarna kan iedereen die deelneemt aan het project het project klonen. Hierdoor wordt de volledige Git map (werkmap + repository met daarin de volledige geschiedenis van het project) lokaal op de PC gezet.

{% hint style="success" %}

1. Start “Git cmd”
2. Ga naar de map waar je je Git projecten zal in opslaan.
3. Kloon het Github project <https://github.com/DBHTic/GitProject2.git> met <mark style="color:orange;">`git clone`</mark> `https://github.com/kubecque/Repo2`
4. Kijk met het <mark style="color:orange;">`dir`</mark>commando na wat er gebeurd is met je map.
5. Ga naar de de gekloonde repository
6. Bekijk de inhoud van deze repository met <mark style="color:orange;">`dir /a`</mark>&#x20;
7. Controleer de status van de map met <mark style="color:orange;">`git status`</mark>

<details>

<summary>Oplossing</summary>

<img src="https://1633044495-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCY7jofLvHZLUwlQLNxqF%2Fuploads%2F21QItjpetXnu2ugwfaO7%2FGithub%20clone.gif?alt=media&#x26;token=f82edda1-baff-41a9-a528-6b519e4f2075" alt="Github clone" data-size="original">

</details>
{% endhint %}

## Oefeningen

1. Start “Git cmd” en navigeer naar de plaats waar het project moet komen.

2. Maak de map Oef1 aan.

3. Maak van deze map een Git project.

4. Bekijk de status van het project.

5. Zoek op hoe je in deze map met het <mark style="color:orange;">`echo`</mark> commando het bestand "test.txt" kan aanmaken dat als tekst "test" bevat. Voer dit uit.

6. Controleer de inhoud van de map opnieuw.

7. Bekijk de status van het project.

8. Test het commando <mark style="color:orange;">`tree .git`</mark> eens uit.

9. Start “Git cmd” en navigeer naar de plaats waar het project moet komen.

10. Kloon het project dat zich op volgende lokatie bevindt: <https://github.com/libgit2/libgit2>

11. Controleer de status van de repository.

12. Onderzoek de inhoud van de repositpory.

13. Herhaal je laatste commando, maar plaats er er nog  <mark style="color:orange;">`test`</mark> achter. (!vergeet de spatie niet)

14. Onderzoek wat er nu gebeurd is.

15. Test het commando <mark style="color:orange;">`tree .git`</mark> eens uit.


---

# 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://dbh-ict.gitbook.io/inleiding-git-github/git-basics/een-git-repository-verkrijgen.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.
