Introduction to Git

Course 4656

  • Duration: 1 day
  • Sandbox: Yes
  • Language: English
  • Level: Foundation

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.

This course teaches the Git command-line. Using the command-line gives you access to the full power of Git, rather than the subset exposed by some of the graphical (GUI) tools. There is a proliferation of GUI tools, making it impossible to pick one. GitKraken is covered, briefly, as an example of a GUI tool. Mastering the Git command-line will equip you to use any GUI tool. The focus is on concepts, not tools.

Introduction to Git Delivery Methods

  • In-Person

  • Online

  • Upskill your whole team by bringing Private Team Training to your facility.

Introduction to Git Training Information

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

You should have a basic level of comfort using command line interfaces (CLIs).

While not mandatory, some additional 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.
  • Knowledge of basic coding principles would facilitate understanding Git commands and workflows.

Introduction to Git Training Outline

Key Concepts of Version Control

Why Version Control?

Overview of Git

Best Practices

Git Download and Installation

Configuring Git for the First Time

Understanding the Git Environment

Tips for Beginners

Setting Up a Git Repository

Basic Git Workflow

Understanding the Staging Area and Commit History

Best Practices for Committing

Utilizing Branches for Experimentation

Branch Management

Stashing Changes

Best Practices for Branching and Stashing

Merging Branches

Resolving Merge Conflicts

Using Visual Studio Code (VSCode) for Conflict Resolution

Best Practices in Merging

Introduction to GitKraken

Basic Git Operations in GitKraken

Visualizing Branches and Commits

Managing Repositories Using GitKraken

What is Rebasing and Why Use It

Rebasing vs. Merging

Performing a Rebase

Resolving Conflicts during Rebasing

Collaboration Using Git and GitHub

Using GitHub as a Remote Repository

Creating READMEs

Sharing your work via push and pull

pull vs fetch

Feature Branch

Trunk-Based

Gitflow

Choosing the Right Workflow

Techniques to Undo Changes

Navigating History

Time Traveling in Repositories

Using Tags for Versioning

Understanding the Functionality of Reflogs

Navigating the Reflog to Find Lost Commits

Recovering Deleted Branches and Commits

Practical Examples and Scenarios

Versioning Code and Data Separately

Handling Large Files

Maintaining a Readable and Efficient History

Collaboration and Code Review

Need Help Finding The Right Training Solution?

Our training advisors are here for you.

Introduction to Git FAQs

It covers branching strategies, conflict resolution, GitHub collaboration, and best practices to ensure smooth teamwork.

It covers the use of Large File Storage (LFS) for working with large datasets.

The course introduces basic CLI commands but focuses on practical Git usage, making it accessible for beginners while gradually introducing more advanced concepts.

Many people who use Git are taught that it’s only pull/add/commit/push---which severely limits the effectiveness of the tool. This course provides a solid foundation and an understanding of a much wider set of commands.

Chat With Us