From 3970ee00b3ae1dc582cab751bbb6ae6467980c6c Mon Sep 17 00:00:00 2001 From: Marina Popleteeva Date: Mon, 16 Oct 2023 10:17:16 +0200 Subject: [PATCH 1/4] Add chapter 4 template --- docs/chapters/chapter_04.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 docs/chapters/chapter_04.md diff --git a/docs/chapters/chapter_04.md b/docs/chapters/chapter_04.md new file mode 100644 index 0000000..e5096a6 --- /dev/null +++ b/docs/chapters/chapter_04.md @@ -0,0 +1,31 @@ +# 4 Getting familiar with Git and GitHub + +## 4.1 Create / setup GitHub account + +Here you can enter text and create inline citations[@Garcia2020] by using the bibtex plugin. Add your references in `references.bib`, and cite [@hoebelheinrich_nancy_j_2022_6769695] by adding the @refid inside brackets like this `[@10.1093/bioinformatics/btt113]` + +You can also embed videos from a local source (with a relative path) or from an url (like youtube). To use a youtube URL, +just attach the ID of the video to a youtube embedded video link: `https://youtube.com/embed/`. For example, the Elixir training video `https://youtu.be/oAD8FdGf8tI` has the ID `oAD8FdGf8tI`, so the final link would be: + +``` +![type:video](https://youtube.com/embed/oAD8FdGf8tI) +``` + +![type:video](https://youtube.com/embed/oAD8FdGf8tI) + +!!! note "Note" + + Here you can put a note using admonitions. + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + + +## 4.2 Installation of GitHub Desktop + +## 4.3 Git User Interface in PyCharm, GitHub Desktop + +## 4.4 Create account, project, change settings + +## 4.5 Graphical overview of concepts and terminology + +## 4.6 Case study 0 - working with local repository \ No newline at end of file From c33ec19f72199855bb8d21e00905f053486fd3bb Mon Sep 17 00:00:00 2001 From: Marina Popleteeva Date: Mon, 16 Oct 2023 11:37:26 +0200 Subject: [PATCH 2/4] Add repo and fork --- docs/chapters/chapter_04.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/chapters/chapter_04.md b/docs/chapters/chapter_04.md index e5096a6..d7a70a8 100644 --- a/docs/chapters/chapter_04.md +++ b/docs/chapters/chapter_04.md @@ -28,4 +28,10 @@ just attach the ID of the video to a youtube embedded video link: `https://youtu ## 4.5 Graphical overview of concepts and terminology +A project folder usually contains only the latest version of your files (in case of cloud storage you might have some file history). Such project folder can be converted into a *Git repository* (how to do so described in Section 4.6) if the folder will track changes in files and directories. In other words, a **Git repository** (or just **repository**) is centralized location of files and all changes made to the files. + +If several people work on the same project you would need to have shared access to the same Git repository. However, different people might have different level of experience and project owner might limit writing access to the project repository. How to contribute to the project in this case? You have to work on your *own copy* of the repository in order to make changes. In other words, you have to work on your **fork**. + +What is fork + ## 4.6 Case study 0 - working with local repository \ No newline at end of file From a198c9a2e8efa4c617782b55feb5bd4bbd72960e Mon Sep 17 00:00:00 2001 From: Marina Popleteeva Date: Mon, 16 Oct 2023 11:37:46 +0200 Subject: [PATCH 3/4] Add image for fork definition --- docs/assets/images/chapter_4/forking.png | Bin 0 -> 42550 bytes .../images/chapter_4/img_source/forking.svg | 301 ++++++++++++++++++ 2 files changed, 301 insertions(+) create mode 100644 docs/assets/images/chapter_4/forking.png create mode 100644 docs/assets/images/chapter_4/img_source/forking.svg diff --git a/docs/assets/images/chapter_4/forking.png b/docs/assets/images/chapter_4/forking.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f4a58b56bc0d2af16591b860b63ba94cd9d03e GIT binary patch literal 42550 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
    u%20fFyvfX}^wlC)Q9G7}sa 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 r<#@Z)6lce{nn=n&z2C>^ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Original project + Your fork + https://[git server]/[group or user]/[repository] + https://[git server]/[your name]/[repository] + + + + + + + + + + From 8cd6333733480d4158746805d02e4a1464990099 Mon Sep 17 00:00:00 2001 From: Marina Popleteeva Date: Mon, 16 Oct 2023 12:00:56 +0200 Subject: [PATCH 4/4] Add commit, branch, difference between fork and branch --- docs/chapters/chapter_04.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/chapters/chapter_04.md b/docs/chapters/chapter_04.md index d7a70a8..d4ad4a2 100644 --- a/docs/chapters/chapter_04.md +++ b/docs/chapters/chapter_04.md @@ -28,10 +28,46 @@ just attach the ID of the video to a youtube embedded video link: `https://youtu ## 4.5 Graphical overview of concepts and terminology +### What is a git repository + A project folder usually contains only the latest version of your files (in case of cloud storage you might have some file history). Such project folder can be converted into a *Git repository* (how to do so described in Section 4.6) if the folder will track changes in files and directories. In other words, a **Git repository** (or just **repository**) is centralized location of files and all changes made to the files. +### What is a fork + If several people work on the same project you would need to have shared access to the same Git repository. However, different people might have different level of experience and project owner might limit writing access to the project repository. How to contribute to the project in this case? You have to work on your *own copy* of the repository in order to make changes. In other words, you have to work on your **fork**. What is fork +### What is a commit + +Your repository (your file(s)) is in a certain state. Every change moves the repository to a new state. Every change added to the sequence of changes is called **commit**. + +TODO: image from Trilogy + +Every commit has: +- content - what? +- a message - why? +- an author - who? +- a timestamp - when? +- unique identifier - tracking number + +TODO: image from Trilogy + +### What is a branch + +A sequence of commits (changes) is referred to as **branch**. A new branch can be created by branching off from a commit on another branch. A branch can also be understood as a named version of your repository. + +TODO: image from Trilogy + + + +### What is the difference between a *fork* and a *branch*? + +1. Fork is a copy of a repository, branch is parallel version of a code within the same repository. +2. Fork is independent from the original repository, if the original repository is deleted, the fork remains. Branch exists on specific repository, if it si deleted, branch is also deleted. +3. Fork is mandatory if you do not have writing access to an original repository. Branch is recommended when you start development of new feature (fixing a bug). +4. Changes made in fork are *proposed* to original repository via *pull requests*. Changes made in branch are *merged* into another branch on the same repository. + +TODO: image from Trilogy (Quick recap) + ## 4.6 Case study 0 - working with local repository \ No newline at end of file