Version Control with Git
20% discount for multiple people from the same company
Duration: 1 day| Price: € 299,00 VAT excluded
Prerequisites
Knowledge of the MS Windows command line
Description
Git is a DVCS (Distributed Version Control System) developed by Linus Torvalds, the creator of the Linux kernel. This course explores the strategies, techniques, and technologies to adopt for controlling the versioning of source code using Git. We will analyze all the necessary commands for team-based project development, all procedures for managing repositories, and all the tools for monitoring the progress of the various branches that compose the project.
During the course, both the Git CLI and various graphical clients will be used. All exercises will mainly focus on the Git CLI. Where possible, a specific Git GUI will also be used to perform the same operations. The goal is to help the learner become comfortable with the Git CLI so that they are not dependent on a specific GUI. The concepts learned will be reusable regardless of the client used in daily activities.
Contents
Introduction to Git
What is a DVCS – differences with a traditional VCS
Git and distributed version control
Installing and Configuring Git
GUI for Git: An overview
Repository Management
Creating a Git repository
File status and modifying repositories
Understanding and using staging
File operations with Git
Undoing and viewing the history of changes in Git
The detached head
Managing Remote Repositories
Creating and using tags, annotated tags, and aliases
Managing remotes
Practical examples for managing remotes
Branches
What is a branch?
Why and how to create a branch
Branching and merging in Git
Analyzing branches and merges
What is and how to use Rebasing
Practical examples of parallel development
Stash
What is a stash?
When is using a stash necessary?
Practical application of stash
Workflow
Why use a workflow?
How to decide which workflow to use
Centralized Workflow
Feature Branch Workflow
Gitflow Workflow
Forking Workflow
Analyzing the pros and cons of each workflow
The best workflow for the team
How to manage shared code in multiple projects
Submodule vs Subtree
Recovering updates from the subtree
Sending your changes to the subtree
Practical use of subtree
Archiving and Mirroring
Creating reusable bundles
Creating archives
Implementing mirroring
The course is structured with a balance of theory and practice, allowing participants to understand, acquire, and immediately apply new information and techniques.
