# Chapter-1 : Source Control and GIT

Back to [Course Introduction](../../README.md)

## Introduction

In this chapter we will cover the fundamental tools you need to know to start a DevOps, SRE or platform engineering career. This starts with knowing how to work with files. Source control allows us to work with files, collaborate with others and track changes and histrory of source code.

What your will learn:
* What source control is
* How to use GIT to manage source code
* Learn about the basics of hosted source control systems
* What an IDE is
* How to use an IDE as an engineer

### 🎬 [Module 1: Introduction to GIT: Source Control](../../content/source-control/git/README.md)

[GIT](https://en.wikipedia.org/wiki/Git) is the foundation of DevOps, Programming & Software Engineering </br> 
This is because it is a source code distributed version control system. </br>
In DevOps, you will deal with code, command line, documentation, scripts, automation, infrastructure-as-code and more. </br>
Generally, all of this involves writing files and storing them.
GIT is the system you use to store these files. </br>

In this module we'll take a read through [GIT](https://en.wikipedia.org/wiki/Git) to understand where it started and why it is so successful and widely used in software engineering. </br>

#### In this module

* What is GIT
* Installing GIT
* Command line
* Create your first GIT repository
* Branching
* Commits
* Merging branches
* GUI Tools for GIT
  * VSCode


### 🎬 [Module 2: Introduction to IDEs: Visual Studio Code](../../content/editors/vscode/introduction/README.md)

When working on source code using GIT, you will want to work on files and directories. </br>
This includes configuration files, code files, scripts and so on. </br>
To get a nice overview of all our files and folders, as well as have access to `git` and command line, we'll use an IDE. </br>
An [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) is an integrated development environment. </br>
It is software that helps us deal with software development and engineering. </br>

#### In this module:

* What is VSCode
* Directory and File management
* Editing files
* Command line terminals
* Extensions
* Themes
* GIT features


### 🎬 [Module 3: Introduction to Github: Hosted Source Control](../../content/source-control/github/README.md)

Storing source code in a Git repository on a local machine carries a risk of data loss. </br>
If your harddrive crashes, or you lose your laptop, all your work would be lost. </br>
Therefore it's always recommended to use a hosted source control provider like Github, BitBucket, Gitlab and others. </br>

It also makes collaboration possible, when you have a team of people working on the same project </br>

#### In this module

* We create a Github account
* Overview of Github source control
* Integrating our repository with Github
* Working with our repository
