hands-on workshop to learn how developers use Git and GitHub to manage projects, collaborate efficiently, and keep track of every change in their code.
We’ll cover the basics of version control, repositories, commits, branches, and pull requests — everything you need to start working like a pro ...
hands-on workshop to learn how developers use Git and GitHub to manage projects, collaborate efficiently, and keep track of every change in their code.
We’ll cover the basics of version control, repositories, commits, branches, and pull requests — everything you need to start working like a pro in real-world development projects.
Size: 1.31 MB
Language: en
Added: Oct 16, 2025
Slides: 43 pages
Slide Content
Version Control and
Workflow
Git - GitHub
16-10-2025
Who am I ?
•Data Scientist
•Research Master's Student, Faculty
of Science of Sfax (FSS)
Plan
Part 1 — Theoretical Foundations
Part 2 — Practical Session
A
Part 1 — Theoretical Foundations
1
A
Part 1 — Theoretical Foundations
B
Modification
2
A
Part 1 — Theoretical Foundations
B
Saved
3
A
Part 1 — Theoretical Foundations
B
How to keep the 2 versions?
4
Bad solutions
Part 1 — Theoretical Foundations
5
Problematic
Part 1 — Theoretical Foundations
How to manage files versions
effectively?
6
Version Control
•System that tracks every change made to your
codebase.
Part 1 — Theoretical Foundations
•Allows developers to revert, compare, and
collaborate safely.
7
Why Every Developer Needs
It?
Keeps a complete history of your project
Part 1 — Theoretical Foundations
8
Why Every Developer Needs
It?
Allows experimentation without fear of breaking the main code
Part 1 — Theoretical Foundations
9
Benefits for Teams and Open
Source
•Teams can work in parallel on different features.
Part 1 — Theoretical Foundations
•Merge and review changes without overwriting others.
10
Benefits for Teams and Open
Source
•Enables open-source collaboration
•Supports automation and DevOps pipelines.
Part 1 — Theoretical Foundations
11
DevOps
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to
shorten the systems development life cycle and provide continuous delivery with high software
quality.
Part 1 — Theoretical Foundations
12
Part 1 — Theoretical Foundations
Git
•Git = Distributed Version Control System (DVCS)
•Manages snapshots of the project
•Each developer has a full local history
13
Part 1 — Theoretical Foundations
Git architecture
•Working Directory:
•Staging Area (Index):
•Local Repository:
•Remote Repository:
Where you make changes
Prepares changes for commit
Stores confirmed commits
Shared version on GitHub
14
Part 1 — Theoretical Foundations
Key Concepts
•Commit
•Branch
•Merge
15
Concept Description
Repository Project folder tracked by Git
Commit Snapshot of your code at a specific time
Branch Independent line of development
Merge Combine changes between branches
Remote A hosted version of your repo (e.g., GitHub)
Part 1 — Theoretical Foundations
Github
•Web-based hosting for Git repositories
that provides version control and
collaboration features.
“Git tracks code. GitHub connects people.”
16
Part 1 — Theoretical Foundations
Core Features
•Repositories: Store and version your code
•Forks: Copy someone’s repo to make your own
changes
•Pull Requests (PRs): Propose changes to a
project
17
Part 2 — Practical Session
Objective of the workshop
•Push a file or a project to a distant repository
•Fork and clone an existing project
18
Part 2 — Practical Session
Steps:
Install Git
https://git-scm.com/downloads
19
Part 2 — Practical Session
Steps:
Create a GitHub account and try to create an
empty project
20
Part 2 — Practical Session
Steps:
•Create a folder named “workshop”
•Under it, create a text file “test.txt”
21
Part 2 — Practical Session
Steps:
Open cmd/power_shell/git_bash(CLI) under
the folder “workshop”
22
Part 2 — Practical Session
Steps:
Initialize a git repository:
git init
23
Part 2 — Practical Session
Steps:
Providing information about the current state
of your repository:
git status
24
Part 2 — Practical Session
Steps:
Staging your files to make them ready to
commit:
git add .
25