From e458ec56e35e30bac67093c11234b574633faee9 Mon Sep 17 00:00:00 2001 From: laurentheirendt <laurent.heirendt@uni.lu> Date: Thu, 19 May 2022 15:32:45 +0200 Subject: [PATCH] draft slides --- .../slides/advanced.md | 0 .../slides/branches.md | 42 --------- .../slides/cloneRepo.md | 4 +- .../slides/configuration.md | 36 -------- .../slides/forks.md | 90 ------------------- .../slides/github_gitlab.md | 18 ---- .../slides/index copy.md | 21 ----- .../slides/list.json | 10 +-- .../slides/merge.md | 13 --- .../slides/overview copy.md | 15 ---- .../slides/overview.md | 10 ++- .../slides/the_editor.md | 12 --- .../slides/the_terminal copy.md | 70 --------------- .../slides/what_is_git.md | 40 --------- 14 files changed, 12 insertions(+), 369 deletions(-) create mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/advanced.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/forks.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/github_gitlab.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/index copy.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/merge.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/overview copy.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/the_editor.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/the_terminal copy.md delete mode 100644 2022/2022-06-14_git-trilogy-part-3/slides/what_is_git.md diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/advanced.md b/2022/2022-06-14_git-trilogy-part-3/slides/advanced.md new file mode 100644 index 00000000..e69de29b diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/branches.md b/2022/2022-06-14_git-trilogy-part-3/slides/branches.md index 0c91358c..48af7a38 100644 --- a/2022/2022-06-14_git-trilogy-part-3/slides/branches.md +++ b/2022/2022-06-14_git-trilogy-part-3/slides/branches.md @@ -1,45 +1,3 @@ -# Development scheme - - -Generally, in a repository, there are guidelines for contributing. - -<div class="fragment"> - -A common development scheme is dual with a: - -- **development** version of the code on `develop` -- **stable** version of the code on `master` - - -A **version** of the code is referred to as a **branch**. - -<div class="fragment"> - -<img src="slides/img/icon-live-demo.png" height="100px"> - - -<font color="red">In the practice repository, the development branch is called `develop`!</font> - -<div class="fragment"> - - Use this dual development scheme for your own repositories! - - - -# Branches - -A **version** of the code (i.e., a **branch**) is made up of a sequence of code changes. - -<div class="fragment"> - -These individual code changes are called **commits**. - - -For instance, the `master` and `develop` branches can be represented as a timeline: -<img src="slides/img/branch-master.png" class="branch-master" height="500em"/> - - - # Switch between branches List all branches of the repository with diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/cloneRepo.md b/2022/2022-06-14_git-trilogy-part-3/slides/cloneRepo.md index dac03e4c..c587f16b 100644 --- a/2022/2022-06-14_git-trilogy-part-3/slides/cloneRepo.md +++ b/2022/2022-06-14_git-trilogy-part-3/slides/cloneRepo.md @@ -3,12 +3,12 @@ You have to `clone` it first: ```bash -$ git clone git@github.com:LCSB-BioCore/basic-git-practice.git +$ git clone ssh://git@gitlab.lcsb.uni.lu:8022/R3/school/git/basic-practice-pages.git ``` If you did not configure your SSH key, clone using HTTPS: ```bash -$ git clone https://github.com/LCSB-BioCore/basic-git-practice.git +$ git clone https://gitlab.lcsb.uni.lu/R3/school/git/basic-practice-pages ``` You will be prompted to enter your credentials. diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/configuration.md b/2022/2022-06-14_git-trilogy-part-3/slides/configuration.md index 39ca62da..c1cc0e00 100644 --- a/2022/2022-06-14_git-trilogy-part-3/slides/configuration.md +++ b/2022/2022-06-14_git-trilogy-part-3/slides/configuration.md @@ -14,39 +14,3 @@ $ git config --list This should list the configuration with `user.name` and `user.email`. Exit by typing `q`. - - - -# What is an SSH key? - -An SSH key is a secure access credential. - -**Principle**: <br><br> -Communicate **securely** with Github/Gitlab **without** entering the username/password. - - - -# How do I get and set my SSH key? - -Check if you already have an SSH key: - -```bash -$ ls -al ~/.ssh -``` - -If there are 2 files named `id_rsa`, you have an SSH key. - -If you don’t have yet an SSH key, you have to generate one: -```bash -$ ssh-keygen -t rsa -b 4096 -``` - -If you set a password to your key (recommended), add it to the `ssh-agent`: -```bash -$ eval "$(ssh-agent -s)" -$ ssh-add -K ~/.ssh/id_rsa -``` - -Then, add the SSH key to Github/Gitlab. - -<img src="slides/img/icon-live-demo.png" height="100px"> \ No newline at end of file diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/forks.md b/2022/2022-06-14_git-trilogy-part-3/slides/forks.md deleted file mode 100644 index fa7389a8..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/forks.md +++ /dev/null @@ -1,90 +0,0 @@ -# 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`: - - - -<img src="slides/img/icon-live-demo.png" height="100px"> - - - -# Time to practice! - -Fork the practice repository: <br><br> -https://github.com/LCSB-BioCore/basic-git-practice<br><br> - - -Then, clone your fork to your home directory! - -<img src="slides/img/icon-live-demo.png" height="100px"> - -```bash -$ git clone git@github.com:<yourName>/basic-git-practice.git -``` - -Change to the practice directory with: -```bash -$ cd basic-git-practice -``` - -<img src="slides/img/icon-live-demo.png" height="100px"> - -If you did not configure your SSH key, clone using HTTPS: -```bash -$ git clone https://github.com/<yourName>/basic-git-practice.git -``` - - - -# 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> - -<br> - -**Why?** - - - -# How to update my fork? - -As you have your own fork, it will not automatically be updated once the original repository is updated. - - You have to update it yourself! - -<br> - -**More on that later!** diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/github_gitlab.md b/2022/2022-06-14_git-trilogy-part-3/slides/github_gitlab.md deleted file mode 100644 index fa8e34ed..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/github_gitlab.md +++ /dev/null @@ -1,18 +0,0 @@ -# GitHub and GitLab - -<img src="https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" alt="GitHub" style="width: 200px;"/> -<img src="https://gitlab.com/gitlab-com/gitlab-artwork/raw/master/logo/logo-extra-whitespace.png" alt="GitLab" style="width: 200px;"/> - -GitHub and GitLab are VCS systems. - -GitHub/Gitlab are both **publicly available**, but GitLab can be **on-premise**. - -Positive point: GitHub and GitLab are (almost) the same. - - -<img src="slides/img/icon-live-demo.png" height="100px"> - - -- **GitHub**: [https://github.com](https://github.com) -- Public GitLab: [https://gitlab.com](https://gitlab.com) -- LCSB specific: [https://gitlab.lcsb.uni.lu](https://gitlab.lcsb.uni.lu) diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/index copy.md b/2022/2022-06-14_git-trilogy-part-3/slides/index copy.md deleted file mode 100644 index eebd26f5..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/index copy.md +++ /dev/null @@ -1,21 +0,0 @@ -# Elixir-LU training (R3.school) - -## October 20th, 2021 - -<div style="top: 6em; left: 0%; position: absolute;"> - <img src="theme/img/lcsb_bg.png"> -</div> - -<div style="top: 5em; left: 60%; position: absolute;"> - <img src="slides/img/elixir.png" height="200px"> - <img src="slides/img/r3-training-logo.png" height="200px"> - <br><br><br><br> - <h1>Basic git training</h1> - <br><br><br><br> - <h4> - Laurent Heirendt, Ph.D.<br> - laurent.heirendt@uni.lu<br> - <i>ELIXIR/LU, Luxembourg Centre for Systems Biomedicine</i> - </h4> -</div> - diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/list.json b/2022/2022-06-14_git-trilogy-part-3/slides/list.json index 5794aa13..8ba3861f 100644 --- a/2022/2022-06-14_git-trilogy-part-3/slides/list.json +++ b/2022/2022-06-14_git-trilogy-part-3/slides/list.json @@ -1,18 +1,12 @@ [ { "filename": "index.md" }, - { "filename": "overview.md" }, - { "filename": "what_is_git.md" }, - { "filename": "github_gitlab.md" }, { "filename": "installation.md" }, { "filename": "the_terminal.md" }, - { "filename": "the_editor.md" }, { "filename": "configuration.md" }, { "filename": "cloneRepo.md" }, - { "filename": "forks.md" }, - { "filename": "branches.md" }, { "filename": "essential_commands.md" }, - { "filename": "merge.md" }, { "filename": "syncFork.md" }, { "filename": "best_practices.md" }, + { "filename": "advanced.md" }, { "filename": "thanks.md" } -] +] \ No newline at end of file diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/merge.md b/2022/2022-06-14_git-trilogy-part-3/slides/merge.md deleted file mode 100644 index 42d288de..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/merge.md +++ /dev/null @@ -1,13 +0,0 @@ -# Pull (merge) requests - -If you want your changes to be reflected on the `develop` or `master` branches, -**submit a PR** via the Github interface. - -Use the **interface** to make use of your peers to review your code! -<img src="slides/img/branch-merge.png" class="branch-merge" height="500em"/> - -Once merged, you can delete the branch via the interface. - -<div class="fragment"> - -<img src="slides/img/icon-live-demo.png" height="100px" > \ No newline at end of file diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/overview copy.md b/2022/2022-06-14_git-trilogy-part-3/slides/overview copy.md deleted file mode 100644 index 1cb37bc5..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/overview copy.md +++ /dev/null @@ -1,15 +0,0 @@ -# Overview - -1. What is `git`? What is the use of `git`? -2. GitHub and GitLab -3. The terminal -4. Installation of `git` -5. The editor -6. How do I configure `git`? -7. Where and how to start? -8. What is a fork? -9. What are branches? -10. The 5 essential commands (`pull` / `status` / `add` / `commit` / `push`) -11. What are merge/pull requests? -12. How do I synchronize my fork? -13. Best practices \ No newline at end of file diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/overview.md b/2022/2022-06-14_git-trilogy-part-3/slides/overview.md index 2f6a1ec4..7bedee3f 100644 --- a/2022/2022-06-14_git-trilogy-part-3/slides/overview.md +++ b/2022/2022-06-14_git-trilogy-part-3/slides/overview.md @@ -1,4 +1,10 @@ # Overview -0. Subject 1 -1. Subject 2 +1. The terminal +2. Installation of `git` +3. How do I configure `git`? +4. Where and how to start? +5. The 5 essential commands (`pull` / `status` / `add` / `commit` / `push`) +6. How do I synchronize my fork? +7. What if things go wrong? +8. Best practices \ No newline at end of file diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/the_editor.md b/2022/2022-06-14_git-trilogy-part-3/slides/the_editor.md deleted file mode 100644 index 46c04292..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/the_editor.md +++ /dev/null @@ -1,12 +0,0 @@ -# The editor(s) - -Recommended editors: - -- **Visual Studio Code** [https://code.visualstudio.com](https://code.visualstudio.com) -- **Atom** [https://atom.io](https://atom.io) - -*Note*: Other editors can, of course, also be used. Examples: -- IntelliJ IDEA [https://www.jetbrains.com/idea](https://www.jetbrains.com/idea) -- Sublime Text [https://www.sublimetext.com](https://www.sublimetext.com) - -<img src="slides/img/icon-live-demo.png" height="100px"> diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/the_terminal copy.md b/2022/2022-06-14_git-trilogy-part-3/slides/the_terminal copy.md deleted file mode 100644 index 43c527f2..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/the_terminal copy.md +++ /dev/null @@ -1,70 +0,0 @@ -# First steps in the terminal - -Starting the terminal presents itself with a line where you can enter a command -```bash -cesar@myComputer> -``` - -Often written, for covenience, as -```bash -$ -``` - -When you open your terminal (shell), you are located -in your home directory (unless otherwise configured), denoted as `~/`. - -<br> - -**Is `git` properly installed?** - -```bash -$ git --version -# git version 2.33.1 -``` - - - -# Essential Linux commands - -List the contents of a directory -```bash -$ ls -``` - -You can list more details with: -```bash -$ ls -lah -``` - -Create a directory -```bash -$ mkdir myNewDirectory -``` - - - -Change the directory to a specific folder -```bash -$ cd myNewDirectory -``` - -Change the directory 1 level and 2 levels up -```bash -$ cd .. -# 1 level up - -$ cd ../.. -# 2 levels up -``` - -Move a file or a directory -```bash -$ mv myFile.m myNewDirectory/. -``` - - -Rename a file or a directory -```bash -$ mv myFile.m myNewFile.m -$ mv myNewDirectory myDirectory -``` \ No newline at end of file diff --git a/2022/2022-06-14_git-trilogy-part-3/slides/what_is_git.md b/2022/2022-06-14_git-trilogy-part-3/slides/what_is_git.md deleted file mode 100644 index 973cc059..00000000 --- a/2022/2022-06-14_git-trilogy-part-3/slides/what_is_git.md +++ /dev/null @@ -1,40 +0,0 @@ -# What is `git`? - -<!--  --> - -`git` is a **version control system** (VCS) for tracking changes in computer files and coordinating work on those files among multiple people [1]. - -Designed and implemented in 2005 by **Linus Torvalds** - -<div align="center"> -<img src="slides/img/linus.jpg"> -</div> - -[1] *https://en.wikipedia.org/wiki/Git* - - - -# The inventor of `git` - -<div align="center"> -<img src="slides/img/git_definition.png"> -</div> - -`I'm an egotistical bastard, and I name all my projects after myself. -First Linux, now git.` -Linus Torvald (2007-06-14) - - - -# What is the use of `git`? - -* No need to fully rewrite code; **reuse code** and **save time** -* Keep the changes you made over time (**history**) -* Allows you to **backtrack** (if necessary) and undo unwanted changes -* Easily **add contributions** of your collaborators to the main code base - -note: - -Other points to mention: -* git shall not be considered as a nuisance, but as a tool that should help to track and trace the code. -* git is not to track performance. Not using it shows exactly the opposite. -- GitLab