OSS Wiki LogoOSS Wiki
Get Started

Git and GitHub

A beginner-friendly guide to Git and GitHub — their origins, purpose, and how they work together in modern software development.

Understanding Git and GitHub

Version control is a cornerstone of modern software development. Among the many tools available, Git and GitHub stand out as the most widely adopted solutions for managing source code and fostering collaboration. This guide explains what they are, who created them, and why they are essential to developers today.


What Is Git?

Git is a distributed version control system (VCS) that enables developers to track, manage, and collaborate on code efficiently. It's designed to handle projects of any size — from small personal projects to massive open-source systems — with speed and reliability.

Key Features of Git

  • Distributed system — Every developer has a complete copy of the repository, including its history.
  • Branching and merging — Encourages experimentation without affecting the main codebase.
  • Data integrity — Tracks changes using cryptographic hashes (SHA-1).
  • High performance — Optimized for speed and scalability, even with large repositories.

Who Created Git?

Git was created in 2005 by Linus Torvalds, the developer behind the Linux kernel.

Why Git Was Created

Before Git, the Linux community used a proprietary tool called BitKeeper for version control. When its free license for open-source projects was revoked, the community needed a fast, scalable, and open alternative.

Linus Torvalds set out to build a system that would:

  1. Be lightning-fast and handle thousands of contributors.
  2. Support non-linear development through advanced branching and merging.
  3. Guarantee data integrity through cryptographic tracking.
  4. Be fully open source, giving control back to the developer community.

Within weeks, the first version of Git was released — and it quickly became the foundation for collaborative software development worldwide.


How Git Works (Simplified)

Git captures snapshots of your project over time, known as commits. Each commit represents a point-in-time record of changes in your repository.

Core Concepts

ConceptDescription
Repository (repo)A project directory tracked by Git.
CommitA snapshot of the repository at a specific point in time.
BranchA parallel line of development for experimenting or adding features.
MergeCombines changes from one branch into another.
CloneCreates a local copy of a remote repository.
Push / PullSend or receive changes between local and remote repositories.

What Is GitHub?

GitHub is a cloud-based hosting platform for Git repositories. It extends Git with collaboration features that make it easier for individuals and teams to work together on code.

GitHub Offers

  • Remote repository hosting
  • Pull requests and code reviews
  • Issue tracking and project boards
  • Continuous Integration / Continuous Deployment (CI/CD) with GitHub Actions
  • Community engagement through stars, forks, and discussions

GitHub was founded in 2008 by Tom Preston-Werner, Chris Wanstrath, and PJ Hyett, and later acquired by Microsoft in 2018.


Git vs. GitHub

FeatureGitGitHub
TypeVersion control toolCloud platform for Git repositories
CreatorLinus TorvaldsTom Preston-Werner, Chris Wanstrath, PJ Hyett
Release Year20052008
Primary FunctionTracks code changes locallyEnables remote collaboration and hosting
Offline AvailabilityFully functional offlineRequires internet access

Tip: You can use Git without GitHub, but not GitHub without Git. Other popular Git hosting platforms include GitLab, Bitbucket, and SourceHut.


Why Git and GitHub Matter

Together, Git and GitHub have transformed how developers collaborate globally:

  • Git ensures version control, data integrity, and flexibility.
  • GitHub enhances collaboration, visibility, and community contribution.
  • Virtually all major open-source projects — including React, Next.js, and Node.js — are powered by Git and hosted on GitHub.

These tools have become the backbone of open-source development, empowering developers to innovate and share code transparently.


Summary

ToolPurposeYearCreated By
GitVersion control system2005Linus Torvalds
GitHubCloud collaboration platform for Git repositories2008Tom Preston-Werner, Chris Wanstrath, PJ Hyett

Together, they form a powerful ecosystem for building, managing, and sharing software projects efficiently.


Further Reading


Contributors