# git-for-beginners

Training material for the Git for Beginners ABiMS training session

## Course Outline

### Short Intro
 1. What is version management ?
 1. What is Git and why did we choose it ?
 1. What is GitLab and why did we choose it ?

### Trainee Setup Testing
  1. Does everyone have an account on GitLab ?

### [Git(Lab) Basics](./01-gitlab-basics/README.md)
  1. Some definitions
  1. Creating a repository
  1. Using the Web IDE
  1. Committing changes

### [Working with Remote Repositories](./02-gitlab-clone/README.md)
  1. Motivation
  1. Cloning a GitLab repository
  1. Cloning using HTTPS
  1. CLoning using SSH

### [Git Command Line Basics](./03-cli-basics/README.md)
  1. Displaying information about a local repository
  1. Making changes to a local repository
  1. Committing changes to a local repository
  1. Propagating changes to the remote repository
  1. Keeping a local repository synchronized with a remote repository

### [Branching Basics](./04-branching-basics/README.md)
  1. Rationale for using branches
  1. Using GitLab to manage branches
  1. Using the CLI to manage branches

### Team collaboration
  1. Project roles in GitLab
  1. Branch Protection
  1. Submitting Merge Requests
  1. Handling Merge Requests

### Using Git through third party tools
  1. Using Git inside R-Studio
  1. Using Git inside PyCharm
  

### Further Reading
  1. [The Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf)
  1. [The Git Book](https://git-scm.com/book/en/v2)
  1. [Git Workflows](https://www.atlassian.com/fr/git/tutorials/comparing-workflows/gitflow-workflow)