forks.md 1.88 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# What is a `fork`?

<center>
<img src="slides/img/fork.jpg" class="as-is" height="500em"/>
</center>
<!--http://www.cndajin.com/data/wls/246/22302193.jpg-->



# Not really ...

<center>
<img src="slides/img/fork-crossed.png" class="as-is" height="500em"/>
</center>



# 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 <font color="red">**fork**</font>.



# 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)

<img src="slides/img/icon-live-demo.png" height="100px">



# Time to practice!

Fork the practice repository: <br><br>
41
https://github.com/LCSB-BioCore/basic-git-practice<br><br>
42
43
44
45
46
47
48


Then, clone your fork to your home directory!

<img src="slides/img/icon-live-demo.png" height="100px">

```bash
Valentin Groues's avatar
Valentin Groues committed
49
$ git clone git@github.com:<yourName>/basic-git-practice.git
50
51
52
53
```

Change to the practice directory with:
```bash
54
$ cd basic-git-practice
55
56
```

57
<img src="slides/img/icon-live-demo.png" height="100px">
58

59
60
61
62
If you did not configure your SSH key, clone using HTTPS:
```bash
$ git clone https://github.com/<yourName>/basic-git-practice.git
```
63

64
65


66
67
68
69
70
71
72
73
74
75
# A note on shortcuts ...

<font color="red">
Any other rudimentary method such as

*'I simply download the `.zip` and unzip it - works like a charm!'*

shall **be avoided**!
</font>

76
77
<br>

78
79
80
81
82
83
84
85
86
87
88
89
90
**Why?**



# How to update my fork?

As you have your own fork, it will not automatically be updated once the original repository is updated.

![bulb](slides/img/bulb.png) You have to update it yourself!

<br>

**More on that later!**