Skip to main content
March 23, 2026/6 min read

What is Git & what is GitHub?

Master Version Control and Code Collaboration Fundamentals

Essential Developer Tools

Git and GitHub are fundamental tools that every developer needs to understand for modern software development and collaboration.

View the presentation slides shown in the video.

What is Git?

Git was created by Linus Torvalds in 2005 to manage the development of the Linux kernel—a project so complex it required an entirely new approach to version control. What emerged was a distributed version control system that would fundamentally change how software development teams collaborate worldwide.

At its core, Git is a free, open-source version control system that runs locally on your machine, whether you're using Mac, PC, Linux, or any other operating system. It meticulously tracks every change made to your codebase, creating a comprehensive history of your project's evolution. Today, Git has become the de facto standard for source code management, used by millions of developers from solo freelancers to enterprise teams at Fortune 500 companies.

Git Development History

2005

Git Created

Linus Torvalds develops Git for Linux kernel development

2008

GitHub Founded

Online platform for Git repositories launches

2018

Microsoft Acquisition

Microsoft purchases GitHub for $7.5 billion

Microsoft Ownership

GitHub was acquired by Microsoft in 2018, strengthening integration with Microsoft development tools like Visual Studio Code.

GitHub Collaboration Benefits

Centralized Storage

Online repository hosting allows teams to access project files from anywhere. Provides backup and redundancy for critical code.

Team Collaboration

Multiple developers can contribute simultaneously. Changes are tracked individually and merged intelligently to prevent conflicts.

What Does Git Do?

Git functions as your project's memory bank, recording every modification you and your collaborators make to files over time. Unlike simple backup systems, Git stores both your project files and their complete change history locally on your computer, giving you immediate access to your project's entire evolution.

This historical record proves invaluable when you need to understand why certain decisions were made, identify when bugs were introduced, or revert to previous versions of your code. Rather than relying on your memory or manual documentation, Git automatically maintains a detailed audit trail of every addition, deletion, and modification. This capability becomes essential when working on complex projects where a single misstep could compromise weeks of work.

Core Git Functions

Change Tracking

Monitors all modifications to files and folders in your project. Creates a complete history of what was changed and when.

Version Control

Allows you to revert to previous versions of files or entire projects. Never lose work or worry about breaking changes.

Local Storage

Stores project files and change history directly on your computer. Works offline without requiring internet connectivity.

How Does Git Track Changes?

Git's tracking system operates with remarkable precision, monitoring changes at the character level rather than simply noting file modification timestamps. This granular approach means Git can detect when you add a single line of code, delete a function, create new files, or remove entire directories.

The sophisticated tracking mechanism allows Git to intelligently merge changes from multiple contributors working on the same file simultaneously. For example, if you modify lines 10-15 while a colleague changes lines 50-60 in the same file, Git can seamlessly combine both sets of changes without conflict. This change data is stored in a hidden .git folder at your project's root directory, creating a local database of your project's complete history.

Git Change Tracking Process

1

Character Level Analysis

Git examines files at the character level to identify exactly what changed, rather than relying on file modification dates

2

Change Classification

Categorizes changes as additions, deletions, or modifications to code lines and files

3

Smart Merging

Enables multiple developers to work on different parts of the same file simultaneously without conflicts

4

Hidden Storage

Stores all change information in a hidden folder at the root level of your project directory

What is GitHub and How Do We Collaborate with Git?

Understanding Git's local capabilities naturally leads to the question of collaboration—and this is where GitHub enters the picture. GitHub, acquired by Microsoft in 2018 for $7.5 billion, serves as the world's largest host of Git repositories, providing a cloud-based platform where teams can store, share, and collaborate on code.

GitHub transforms Git from a personal tool into a collaboration powerhouse by providing a centralized location where developers can upload their local changes and access contributions from others. Beyond simple file hosting, GitHub offers additional features like issue tracking, project management tools, code review workflows, and automated testing pipelines that have made it indispensable to modern software development teams.

Git Development History

2005

Git Created

Linus Torvalds develops Git for Linux kernel development

2008

GitHub Founded

Online platform for Git repositories launches

2018

Microsoft Acquisition

Microsoft purchases GitHub for $7.5 billion

Microsoft Ownership

GitHub was acquired by Microsoft in 2018, strengthening integration with Microsoft development tools like Visual Studio Code.

GitHub Collaboration Benefits

Centralized Storage

Online repository hosting allows teams to access project files from anywhere. Provides backup and redundancy for critical code.

Team Collaboration

Multiple developers can contribute simultaneously. Changes are tracked individually and merged intelligently to prevent conflicts.

How Does GitHub Work?

The GitHub workflow revolves around the fundamental Git operations of pushing and pulling changes. When you complete work locally, you "push" your changes to the shared GitHub repository, making them available to your team. Conversely, you "pull" changes that others have pushed, automatically applying their modifications to your local files.

This distributed approach offers significant advantages over traditional centralized systems. Git's focus on tracking changes rather than entire files means transfers are remarkably efficient—only the actual modifications need to be synchronized, not complete files. When a colleague fixes a bug by changing three lines in a thousand-line file, you download only those three lines of changes, not the entire file. This efficiency becomes increasingly valuable as projects grow in size and complexity, enabling teams to collaborate seamlessly even on massive codebases with extensive histories.

GitHub Workflow

1

Local Development

Make changes to files in your local repository on your computer using your preferred code editor

2

Push Changes

Upload your local changes to the online GitHub repository to share with team members

3

Pull Updates

Download changes made by other developers from GitHub to keep your local files synchronized

4

Automatic Merging

Git intelligently applies changes to your files, handling conflicts when multiple people edit the same code

Efficient Transfer

Git only transfers change information rather than entire files, making uploads and downloads very efficient even for large projects.

Are There Alternatives to GitHub?

While GitHub dominates the market with over 100 million repositories as of 2026, several robust alternatives serve different organizational needs and preferences.

GitLab offers a comprehensive DevOps platform with integrated CI/CD capabilities and can be self-hosted for organizations requiring complete control over their code repositories. Bitbucket, developed by Atlassian, integrates seamlessly with other Atlassian tools like Jira and Confluence, making it attractive for teams already using that ecosystem. Azure DevOps provides Microsoft's enterprise-focused alternative with tight integration into the Microsoft development stack.

The beauty of Git's open-source nature means these platforms are essentially interchangeable—your Git skills and repositories can move between services with minimal friction. The choice often comes down to specific feature requirements, pricing models, integration needs, and organizational preferences rather than fundamental technical differences.

GitHub vs Bitbucket

FeatureGitHubBitbucket
OwnerMicrosoftAtlassian
Git IntegrationFull SupportFull Support
Core FeaturesPush/Pull ChangesPush/Pull Changes
Recommended: Both platforms offer similar Git hosting capabilities. Choice often depends on existing tool ecosystem and team preferences.

How Do I Use Git? Command Line Vs. Desktop GUI Apps

Git offers flexibility in how you interact with it, accommodating both command-line enthusiasts and those who prefer graphical interfaces. The original Git experience involves using terminal commands, which provide complete access to Git's full feature set and often prove more efficient for complex operations once mastered.

However, numerous graphical applications have emerged to make Git more accessible. Visual Studio Code, Microsoft's popular free editor, offers excellent built-in Git integration that handles most common operations through an intuitive interface. Other specialized Git clients like GitKraken, Sourcetree, and GitHub Desktop provide visual representations of your project history, making it easier to understand complex branching structures and merge operations.

A particularly innovative feature launched by GitHub and Microsoft allows you to press the period (.) key while viewing any GitHub repository to instantly open a web-based version of Visual Studio Code. This browser-based editor enables immediate code editing and committing without installing software or cloning repositories locally—a powerful demonstration of how Git tooling continues to evolve to meet modern development workflows.

Command Line vs GUI Apps

FeatureCommand LineGUI Apps
Learning CurveSteeperGentler
FunctionalityFull AccessMost Features
Visual FeedbackText BasedGraphical
Popular ToolsTerminal/Command PromptVisual Studio Code
Recommended: GUI apps like Visual Studio Code provide an excellent starting point, while command line offers complete control for advanced users.
Browser-Based Editing

Press the period key on any GitHub repository page to instantly open a web version of Visual Studio Code for immediate editing without downloads or installations.

Coding Classes & Certificate Programs

Understanding Git and GitHub represents just the beginning of your journey into professional software development. These tools form the foundation that enables everything from solo projects to enterprise-scale applications.

If you're currently enrolled in one of our programs, we look forward to seeing you apply these version control concepts in your upcoming projects. For those considering a career transition into technology, our comprehensive coding classes provide hands-on experience with Git alongside core programming skills. Whether you're interested in web development, Python programming, or data science, our certificate programs emphasize real-world collaboration tools that you'll use throughout your professional career. Learn through live online instruction or join us in-person in New York City.

Available Learning Tracks

Web Development

Learn HTML, CSS, JavaScript and modern frameworks. Build responsive websites and web applications from scratch.

Python Programming

Master Python fundamentals and advanced concepts. Apply skills to automation, web development, and data analysis projects.

Data Science

Analyze data, build predictive models, and create visualizations. Learn tools like pandas, NumPy, and machine learning frameworks.

Key Takeaways

1Git is a free, open-source version control system created by Linus Torvalds in 2005 for Linux development that tracks changes to code at the character level
2GitHub is a Microsoft-owned online platform that hosts Git repositories, enabling developers to collaborate by sharing code changes through push and pull operations
3Git stores project files and complete change history locally on your computer, allowing you to revert to previous versions and work offline
4Changes made by different developers can be automatically merged even within the same file, as long as they modify different lines of code
5Alternatives to GitHub exist, including Bitbucket by Atlassian, since Git is open-source software that any company can build hosting platforms around
6Git can be used through command line interfaces for full functionality or GUI applications like Visual Studio Code for easier visual interaction
7GitHub offers browser-based editing through Visual Studio Code integration, accessible by pressing the period key on any repository page
8Git efficiently transfers only change information rather than entire files, making collaboration fast and bandwidth-friendly for large projects

RELATED ARTICLES