## What is a `fork`?
[//]: <> (http://www.cndajin.com/data/wls/246/22302193.jpg) ## Not really ... ## What is a `fork`? In general, when contributing to a repository, you only have **read** access.
In other words, you can only **pull** (unless it is your own repository or access has been granted).

In general, you **cannot write** changes. In other words, you do not have **push** access.
You have to work on your **own copy**.

In other words, you have to work on your own **fork**. ## How to get a fork? Browse to the original repository and click on the button `Fork`: ![Fork the repo](https://help.github.com/assets/images/help/repository/fork_button.jpg)
## Time to practice!
Fork the practice repository:

https://git-r3lab.uni.lu/R3school/git.practice Then, clone your fork to your home directory!


```bash $ git clone ssh://git@git-r3lab-server.uni.lu:8022/yourUserName/ git.practice.git practice ```
Change to the practice directory with: ```bash $ cd practice ``` Any other rudimentary method such as *'I simply download the `.zip` and unzip it - works like a charm!'* shall **be avoided**!

Why? ## How to update my fork? As you have your own fork, it will not automatically update once the original repository is update. ![bulb](img/bulb.png) You have to update it yourself!

**More on that later!**