You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/concepts.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,8 @@
9
9
10
10
- {term}`repository`: The project, contains all data and history (commits, branches, tags).
11
11
- {term}`commit`: Snapshot of the project, gets a unique identifier (e.g. `c7f0e8bfc718be04525847fc7ac237f470add76e`).
12
-
- {term}`branch`: Independent development line. The main development line is often called `main`.
12
+
- {term}`branch`: Independent development line. The main development line is often called `main`. Technically, a branch in Git
13
+
is implemented as a pointer to a commit (imagine a sticky note with a branch name on it).
13
14
- {term}`tag`: A pointer to one commit, to be able to refer to it later. Like a [commemorative plaque](https://en.wikipedia.org/wiki/Commemorative_plaque)
14
15
that you attach to a particular commit (e.g. `phd-printed` or `paper-submitted`).
15
16
- {term}`cloning <clone>`: Copying the whole repository to your laptop - the first time. It is not necessary to download each file one by one.
@@ -28,9 +29,9 @@ in a few different situations:
28
29
server, and a supercomputer.
29
30
* The parent repository could be a repository that you or your colleague own. A
30
31
common use case for cloning is when working together within a smaller team
31
-
where everyone has read and write access to the same git repository.
32
+
where everyone has read and write access to the same Git repository.
32
33
* Alternatively, cloning can be made from a public repository of a code that
33
-
you would like to use. Perhaps you have no intention to work on the code, but
34
+
you would like to use. Perhaps you have no intention to change the code, but
34
35
would like to stay in tune with the latest developments, also in-between
35
36
releases of new versions of the code.
36
37
@@ -49,29 +50,28 @@ Forking and cloning
49
50
When a fork is made on GitHub/GitLab a complete copy, of all or selected
50
51
branches, of the repository is made. The copy will reside under a different
51
52
account on GitHub/GitLab. Forking of a repository is of high relevance when
52
-
working with a git repository to which you do not have write access.
53
-
- In the fork repository commits can be made to the base branch (`main` or
53
+
working with a Git repository to which you do not have write access.
54
+
- In the fork repository commits can be made to the default branch (`main` or
54
55
`master`), and to other branches.
55
56
- The commits that are made within the branches of the fork repository can be
56
-
contributed back to the parent repository by means of pull or merge requests.
57
+
contributed back to the parent repository by means of **pull or merge requests**.
57
58
58
59
59
60
## Synchronizing changes between repositories
60
61
62
+
- Repositories that are forked or cloned **do not automatically synchronize themselves**.
61
63
- We need a mechanism to communicate changes between the repositories.
62
64
- We will **pull** or **fetch** updates **from** remote repositories (we will soon discuss the difference between pull and fetch).
63
65
- We will **push** updates **to** remote repositories.
64
-
- We will learn how to suggest changes within repositories on GitHub and across repositories (**pull request**).
65
-
- Repositories that are forked or cloned do not automatically synchronize themselves:
66
-
We will learn how to update forks (by pulling from the "central" repository).
66
+
- We will learn how to suggest changes within repositories on GitHub and across repositories (**pull requests**).
67
67
- A main difference between cloning a repository and forking a repository is that the former
68
68
is a general operation for generating copies of a repository to different computers,
69
69
whereas forking is a particular operation implemented on GitHub/GitLab.
70
70
71
71
72
72
## Should we clone or fork?
73
73
74
-
Should we all work on forks or should we all work inside one repository?
74
+
Should we all work inside one repository and clone? Or should we all work on forks?
75
75
76
76
- For most small or medium-sized research projects you probably want to **work by
77
77
cloning a repository** that all research group has write access to (we will
0 commit comments