From e7416443324453e32c7f3f58bb92c4bb0446f98f Mon Sep 17 00:00:00 2001
From: laurentheirendt <laurent.heirendt@uni.lu>
Date: Wed, 23 Jan 2019 15:29:05 +0100
Subject: [PATCH] additions of forks and branches

---
 branches.md           |  55 +++++++++++++++++++++-
 cloneRepo.md          |  61 ------------------------
 essential_commands.md |  37 ++++-----------
 forks.md              | 106 ++++++++++++++++++++----------------------
 img/bulb.png          | Bin 0 -> 4833 bytes
 list.json             |  14 +++++-
 ready.md              |   5 --
 syncFork.md           |  51 ++++++++++++++++++++
 the_terminal.md       |   6 +--
 9 files changed, 180 insertions(+), 155 deletions(-)
 create mode 100644 img/bulb.png
 delete mode 100644 ready.md
 create mode 100644 syncFork.md

diff --git a/branches.md b/branches.md
index b00b94f2..5069da24 100644
--- a/branches.md
+++ b/branches.md
@@ -1,3 +1,56 @@
+## Development scheme
+
+<br>
+Generally, in a repository, there are guidelines for contributing.
+
+<div class="fragment">
+
+<br>
+A common development scheme is dual with a:
+
+- **development** version of the code on `develop`
+- **stable** version of the code on `master`
+
+<br>
+A **version** of the code is referred to as a **branch**.
+
+<div class="fragment">
+<br><br>
+(Live Demo)
+
+
+<br>
+<font color="red">In the practice repository, the development branch is called `develop`!</font>
+
+<div class="fragment">
+<br>
+![bulb](img/bulb.png) Use this dual development scheme for your own repositories!
+
+
+## Be safe!
+
+First, browse to the cloned practice directory:
+```bash
+$ cd practice
+```
+
+Then, checkout the `develop` version of the code:
+```bash
+$ git checkout develop
+```
+
+<div class="fragment">
+<br>
+Then, <font color="red">create a new **branch**!</font>
+
+(more details on **branches** in a few minutes)
+
+<br>
+```bash
+$ git checkout -b first-branch
+```
+
+
 ## Branches
 
 Branch-off within the same repository in order to stay safe!
@@ -101,7 +154,7 @@ Detailed information is on [help.github.com/articles/creating-a-pull-request/](h
 <ol start="3">
   <li>Assign your peer
   <br>
-  
+
   ![Assigning a peer](https://help.github.com/assets/images/help/issues/issues_assigning_dropdown.png)
   </li>
 </ol>
diff --git a/cloneRepo.md b/cloneRepo.md
index e4d78710..99457b56 100644
--- a/cloneRepo.md
+++ b/cloneRepo.md
@@ -16,64 +16,3 @@ $ git clone https://github.com/userName/myRepo.git myRepo
 <br>
 <div class="fragment">
 You will be prompted to enter your credentials.
-
-
-## What is a `fork`?
-
-<div class="fragment">
-<img src="img/fork.jpg" class="as-is" />
-[//]: <> (http://www.cndajin.com/data/wls/246/22302193.jpg)
-
-
-## Not really ...
-<img src="img/fork-crossed.png" class="as-is" />
-
-
-## What is a `fork`?
-In general, when contributing to a repository, you only have **read** access.
-
-<div class="fragment">
-In other words, you can only **pull** (unless it is your own repository or access has been granted).
-
-<div class="fragment">
-<br>
-In general, you **cannot write** changes. In other words, you do not have **push** access.
-
-<div class="fragment">
-You have to work on your **own copy**.
-
-<div class="fragment">
-<br>
-In other words, you have to work on your own <font color="red">fork</font>.
-
-
-## Time to practice!
-
-(Live Demo)
-
-<br>
-
-Fork the practice repository: <br><br>
-https://git-r3lab.uni.lu/R3.training/git.practice
-
-Then, clone your fork to your home directory!
-
-<div class="fragment">
-<br>
-```bash
-$ git clone ssh://git@git-r3lab-server.uni.lu:8022/yourUserName/
-  git.practice.git practice
-```
-
-<div class="fragment">
-<br><br>
-<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>
-
-<div class="fragment">
-<br>Why?
\ No newline at end of file
diff --git a/essential_commands.md b/essential_commands.md
index 43bde21d..49904675 100644
--- a/essential_commands.md
+++ b/essential_commands.md
@@ -1,3 +1,6 @@
+
+
+
 ## The 5 essential commands
 
 <br>
@@ -19,11 +22,6 @@ $ git push
 
 ## Pull the latest version of an existing repository
 
-First, browse to the cloned directory (`git clone [...]`):
-```bash
-$ cd practice
-```
-
 Then, pull the latest revision:
 ```bash
 $ git pull
@@ -35,36 +33,19 @@ Verify its `status` with:
 $ git status
 ```
 
+## Modify a file
 
-## Be safe and create a new branch 
+Modify and rename `addTwoNumbers.m` in the folder `src/firstCommit` as `addTwoNumbers_myName`:
 
-(more on branches in a few minutes)
-<br><br><br><br><br>
 ```bash
-$ git checkout -b matrix_vect_mult_myName
+$ mv firstCommit/addTwoNumbers.m firstCommit/addTwoNumbers_myName.m
 ```
 
-
-## Modify a file
-
-Modify and rename `addTwoNumbers.m` in the folder `firstCommit`
-
-<br>
-Open the file `addTwoNumbers.m` in the folder `firstCommit` using the `Atom` editor (or any other editor).
-
-<br>
-Then, rename the function by adding your name (`addTwoNumbers_myName`)
-
 <br>
-Uncomment the line
+Open the file using the `Visual Studio Code` editor (or any other editor)
+and correct the line
 ```Matlab
-% c = a + b
-```
-
-<br>
-Save and rename the file by <font color="red">adding your name</font>
-```bash
-$ mv firstCommit/addTwoNumbers.m firstCommit/addTwoNumbers_myName.m
+c = a + b;
 ```
 
 
diff --git a/forks.md b/forks.md
index 9109050e..1c23e278 100644
--- a/forks.md
+++ b/forks.md
@@ -1,87 +1,81 @@
-## Forks
 
-You **fork** when you want to work on a public repository or a protected repository.
+## What is a `fork`?
 
-<br><br>
-Remember:
-
-- A **fork** is your own **copy** of a repository.
-- A **fork** can have multiple **branches**.
-- A **fork** is not a **branch**, but can have multiple **branches**.
-
-<br><br>
-A **fork** is only useful when you want to contribute, e.g., to The COBRAToolbox.
+<div class="fragment">
+<img src="img/fork.jpg" class="as-is" />
+[//]: <> (http://www.cndajin.com/data/wls/246/22302193.jpg)
 
 
-## Fork via interface
+## Not really ...
+<img src="img/fork-crossed.png" class="as-is" />
 
-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)
+## What is a `fork`?
+In general, when contributing to a repository, you only have **read** access.
 
+<div class="fragment">
+In other words, you can only **pull** (unless it is your own repository or access has been granted).
 
-## Clone your fork
+<div class="fragment">
+<br>
+In general, you **cannot write** changes. In other words, you do not have **push** access.
 
-Clone first
-```bash
-$ git clone https://git-r3lab.uni.lu/myGroup/myRepo.git forkMyRepo
-```
+<div class="fragment">
+You have to work on your **own copy**.
 
+<div class="fragment">
 <br>
-then, you can change to the directory
-```bash
-$ cd forkMyRepo
-```
+In other words, you have to work on your own <font color="red">**fork**</font>.
 
 
-## Add the address of the original repository
+## How to get a fork?
 
-Add the `upstream` address (original/protected repository)
-```bash
-$ git remote add upstream https://git-r3lab.uni.lu/origGroup/origRepo.git
-```
+Browse to the original repository and click on the button `Fork`:
 
-<br>
-You can then check whether the remote address is set correctly
-```bash
-$ git remote -v
-```
-<!-- <img src="img/remote-0-master.png" class="as-is" /> //-->
-<!-- <img src="img/remote-1-remote.png" class="as-is" /> //-->
-<!--- <img src="img/remote-2-push.png" class="as-is" /> //-->
+![Fork the repo](https://help.github.com/assets/images/help/repository/fork_button.jpg)
 
+(Live Demo)
 
-## Synchronize your fork
 
-```bash
-$ git checkout master
-$ git status
-```
+## Time to practice!
+
+(Live Demo)
 
-<div class="fragment">
 <br>
-Fetch the changes from upstream (similar to pull)
-```bash      
-$ git fetch upstream
-```
+
+Fork the practice repository: <br><br>
+https://git-r3lab.uni.lu/R3.training/git.practice
+
+Then, clone your fork to your home directory!
 
 <div class="fragment">
 <br>
-Merge the retrieved changes
 ```bash
-$ git merge upstream/master
+$ git clone ssh://git@git-r3lab-server.uni.lu:8022/yourUserName/
+  git.practice.git practice
 ```
 
 <div class="fragment">
-<br>
-Push the changes to your own fork
-```bash
-$ git push origin master
-```
+<br><br>
+<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>
+
+<div class="fragment">
+<br>Why?
+
+
+## How to update my fork?
 
+As you have your own fork, it will not automatically update once the original repository is update.
 
-## Pull/Merge Requests
+![bulb](img/bulb.png) You have to update it yourself!
 
-**Good news!**
+<div class="fragment">
+<br>
+**More on that later!**
 
-Same procedure as with merging a branch...
diff --git a/img/bulb.png b/img/bulb.png
new file mode 100644
index 0000000000000000000000000000000000000000..590f8d9270fea6be86b5e356cb07cd9232ef7056
GIT binary patch
literal 4833
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

literal 0
HcmV?d00001

diff --git a/list.json b/list.json
index cab3401b..022aba44 100644
--- a/list.json
+++ b/list.json
@@ -54,7 +54,7 @@
         }
     },
     {
-        "filename": "essential_commands.md",
+        "filename": "forks.md",
         "attr": {
           "data-background": "img/whiteBG.jpg"
         }
@@ -65,6 +65,18 @@
           "data-background": "img/whiteBG.jpg"
         }
     },
+    {
+        "filename": "essential_commands.md",
+        "attr": {
+          "data-background": "img/whiteBG.jpg"
+        }
+    },
+    {
+        "filename": "syncFork.md",
+        "attr": {
+          "data-background": "img/whiteBG.jpg"
+        }
+    },
     {
         "filename": "best_practices.md",
         "attr": {
diff --git a/ready.md b/ready.md
deleted file mode 100644
index 10bdd8c2..00000000
--- a/ready.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Ready to practice?
-
-<br>Go to https://git-r3lab.uni.lu/R3.training/git.practice
-
-<br>And follow the instructions in the `README` file.
diff --git a/syncFork.md b/syncFork.md
new file mode 100644
index 00000000..7d18581d
--- /dev/null
+++ b/syncFork.md
@@ -0,0 +1,51 @@
+## Synchronize your fork
+
+![bulb](img/bulb.png) Remember, we have to regularly update our own copy of the code.
+
+
+## Add the address of the original repository
+
+Add the `upstream` address (original/protected repository)
+```bash
+$ git remote add upstream ssh://git@git-r3lab-server.uni.lu:8022/R3.training/
+  git.practice.git
+```
+
+![bulb](img/bulb.png) Note the change in the URL.
+
+
+<br>
+You can then check whether the remote address is set correctly
+```bash
+$ git remote -v
+```
+
+<div class="fragment">
+<br>
+Fetch the changes from upstream (similar to pull)
+```bash
+$ git fetch upstream
+```
+
+<div class="fragment">
+<br>
+Merge the retrieved changes on the `master` branch:
+```bash
+$ git checkout master
+$ git merge upstream/master
+$ git push origin master
+```
+
+<div class="fragment">
+<br>
+Merge the retrieved changes on the `develop` branch:
+```bash
+$ git checkout develop
+$ git merge upstream/develop
+$ git push origin develop
+```
+
+
+## Time to practice!
+
+(Live Demo)
\ No newline at end of file
diff --git a/the_terminal.md b/the_terminal.md
index d6395118..1c6c663f 100644
--- a/the_terminal.md
+++ b/the_terminal.md
@@ -5,7 +5,7 @@
 
 Start the Terminal from your `/Applications` directoy.
 
-*Pro Tip:* Install iTerm2: <br>`https://www.iterm2.com`
+![bulb](img/bulb.png) Install iTerm2: `https://www.iterm2.com`
 
 <br>
 **Windows users:**
@@ -15,8 +15,8 @@ Install Git Bash: <br>`https://git-scm.com/download/win`
 <br>
 **Linux users:**
 
-Launch default terminal.
-*Pro Tip:* Install Terminator: <br>`https://launchpad.net/terminator`
+Launch default terminal.<br>
+![bulb](img/bulb.png) Install Terminator: `https://launchpad.net/terminator`
 
 
 
-- 
GitLab