GIT
Start Date: 24/08/2025
Course Overview
The main objective of this course it to learn git, its internals and how got works behind the scenes. On one hand Git is the most popular SCM tool but on the other hand git is the most complicated one of them all so users need to get familiar with git and its abilities and internals
Secondary Goals User will learn
How to configure git (configuration, hooks, aliases, gitconfig)
What are the key features of git (DVCS, 3-states)
What are branches and how to use them efficiently
How does merges work (ff, no-ff, rebase)
git flow and why it is recommended as the daily workflow
hooks, how to create hooks and why/when to use them
git “servers” and SourecTree
How to improve their productivity and code quality (pull request)
Tips & Tricks and beyond
Expectations and Goals
This course is for anyone who have been using any kind of VCS (Version control system) before. In this course the user will get to know git, its internals, how to use efficiently on a daily basis with focus on what are branches and what is the recommended way to use them
Course Outline:
1. Intro
• History
– The history of GIT, SCSS, RCS
• Key Features
– DVCS, 3-states, Storage, Heuristics
• 3- states
– What is 3-states and why do we need it.
– What can we do with the 3-states
– Smudge – Clean
• Configuration
– Aliases, CRLF, .gitconfig, .gitkeep, .gitignore
• Commit
– What is GIT commit, how does GIT store snapshots
2. Commands
• The basic and most common GIT commands
– init / clone
– add / rm
– commit
– status
– checkout
– log
3. Branches
• What are branches
• Branches command
– checkout
– fetch
– branch
– merge
– pull / push
• SourceTree as a GIT Gui
• Practice
– Single branch
– Multiple branches
– Single remote branch
– Multiple remote branches
– Multiple branches and users
• What is GIT merge
• How does GIT merge branches
– ff
– no-ff
– rebase
– merge-commit
• How to resolve conflicts5. GIT Flow
• What is GIT flow
• Deep understanding of the GIT flow model
• How do we scale it
• What are the different branches and dots6. GIT in the Devops methodology
• Automatic hooks with Jira, Jenkins, SCA and testing tools
• Promotions
• Artifacts management