Version Control with Git

20% discount for multiple people from the same company

Duration: 1 day| Price: € 299,00 VAT excluded

git
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.

Scroll to Top