Skip to content

IBickCoding/GitLearningLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Learning Lab

Git Learning Lab is an educational resource designed to teach Git and version control concepts to all levels of skill and experience.

Status

🚧 This project is currently a work in progress. Tutorials, training guides, and additional learning content will be updated as we continue to work on the project.

Project Goals

  • Provide a beginner-friendly, free, and open-source path to learning Git.
  • Make learning Git engaging and accessible.
  • Support multiple learning styles through written guides and follow-along videos on Youtube.
  • Teach practical, real-world Git workflows used by developers and teams.

Getting Started

Choose the learning path that best describes your experience level:

Experience Level Recommended Starting Point
Never used Git before Beginner
Familiar with basic Git commands Intermediate
Comfortable with branching and collaboration Advanced

Although not required, you are encouraged to progress through the material in order. Concepts introduced in earlier sections are often referenced and expanded upon in later lessons.

Skill Levels

Intended for those who have never used Git before and are new to version control and source control concepts. This is ideal if you are unfamiliar with basic command line control.

Goal

Learn basic Git usage, command line control of Git Bash, and individual workflows.

Topics

  • What is version control?
  • Why Git Exists
  • Installing Git
  • Configuring GitBash for remote tracking
  • Creating Repositories
  • Understanding Repositories, Commits, History, and Conflicts
  • Git Workflow for Individual Use
  • Git Terminology
  • Git Commands and Usage
  • Tracking Files
  • Staging Changes
  • Committing Changes
  • Remote Repositories

Intended for learners who have a basic understanding of Git commands, everyday Git workflows, and are ready to collaborate with others on projects.

Goal

Understand Git internals, complex workflows, and recovery techniques.

Topics

  • Understanding the Git Object Database
  • Understanding How Git Stores Data
  • DAGs
  • Understanding HEAD
  • Understanding References and Tags
  • Detached HEAD States
  • GitHub Essentials
  • Collaboration Basics
  • Remote Repository Management
  • Pull --> Add --> Commit --> Push Workflow
  • Understanding Basic Merge Conflict Resolution
  • Stashing and Ignoring files.
  • Personal Access Tokens
  • Rewriting Repository History
  • Ammending Commits
  • Interactive Rebasing
  • Squashing Commits
  • Cherry-Picking Changes
  • Reverting to Prior Commits
  • Git Reset
  • Recovering Lost Work
  • Repository Maintenance
  • Git Clean

Intended for learners who are comfortable using Git independently, collaboratively, and are ready to learn professional Git and GitHub workflows.

Goal

Collaborate with others on multi-feature projects

Topics

  • Creating Branches
  • Feature Development
  • Merging Branches
  • Advanced Merging Strategies
  • Advanced Conflict Resolution
  • Pull Requests
  • Code Reviews
  • Team Collaboration Workflows
  • Forking Repositories
  • Contributing to Open Source Projects
  • Team Development Strategies
  • Git Flow and Alternative Workflows
  • Monorepositories
  • Branch Protection Rules
  • Release Management
  • CI/CD Fundamentals
  • Automations
  • GitHub Actions
  • Code Ownership
  • Large Team Collaboration
  • Enterprise Development Practices
  • Workflow Optimization and Best Practices

About

This repository is part of an independent study I am currently doing at my university. I am in no way a Git master, but instead trying to provide open source content to help others learn Git.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors