Introduction to Git

Course Outline

Software developers, data scientists, and technical writers are all harnessing the power of Git. It's an essential component of a modern workflow where it's vital that you know what's changing and need to coordinate with colleagues and clients. Whether you're a beginner eager to learn the basics, or an experienced coder seeking a better grounding, our expert-led exercises and real-world examples will equip you with the skills to master version control using Git and GitHub.

Introduction to Git Benefits

  • In this course, you will learn how to:

    • Track and manage changes in your code effectively, ensuring a smooth development process.
    • Facilitate teamwork by allowing multiple developers to work on different parts of a project simultaneously without conflicting changes.
    • Restore previous versions of your work easily in case of errors or data loss.
    • Audit changes to your code/data.
  • Training Prerequisites

    While not mandatory, these prerequisites can enhance the learning experience and ease the grasp of Git concepts and practices covered in the course.

    • Familiarity with programming or data wrangling would help in understanding the value of Git.
    • Basic knowledge of using command line interface (CLI) would ease the understanding of Git commands.
    • Knowledge of basic coding principles would facilitate understanding Git commands and workflows.

Introduction to Git Training Outline

Introduction to Version Control

Key Concepts of Version Control

Why Version Control?

Overview of Git

Best Practices

Installation of Git

Git Download and Installation

Configuring Git for the First Time

Understanding the Git Environment

Tips for Beginners

Basic Git Commands

Setting Up a Git Repository

Basic Git Workflow

Understanding the Staging Area and Commit History

Best Practices for Committing

Branching and Stashing

Utilizing Branches for Experimentation

Branch Management

Stashing Changes

Best Practices for Branching and Stashing

Merging and Resolving Conflicts

Merging Branches

Resolving Merge Conflicts

Using Visual Studio Code (VSCode) for Conflict Resolution

Best Practices in Merging

Using a Git GUI

Introduction to GitKraken

Basic Git Operations in GitKraken

Visualizing Branches and Commits

Managing Repositories Using GitKraken

Rebasing for a Clean Project History

What is Rebasing and Why Use It

Rebasing vs. Merging

Performing a Rebase

Resolving Conflicts during Rebasing

Collaboration and Remote Repositories with GitHub

Collaboration Using Git and GitHub

Using GitHub as a Remote Repository

Creating READMEs

Sharing your work via push and pull

pull vs fetch

Git Workflows

Feature Branch

Trunk-Based

Gitflow

Choosing the Right Workflow

Undoing Changes, Exploring History, and Managing Versions

Techniques to Undo Changes

Navigating History

Time Traveling in Repositories

Using Tags for Versioning

Using Git Reflogs to Retrieve Lost Work

Understanding the Functionality of Reflogs

Navigating the Reflog to Find Lost Commits

Recovering Deleted Branches and Commits

Practical Examples and Scenarios

Best Practices in Using Git

Versioning Code and Data Separately

Handling Large Files

Maintaining a Readable and Efficient History

Collaboration and Code Review

Course Dates - North America
Course Dates - Europe
Attendance Method
Additional Details (optional)