What GitHub Actually Does (Besides Eat Your Money)

GitHub is basically a fancy wrapper around Git that adds a web interface and social features. It's where you push code so you don't lose it when your laptop dies, and where teams pretend to do code reviews before merging everything on Friday afternoon.

The Basic Stuff That Actually Matters

Git Hosting That Doesn't Suck
GitHub gives you unlimited private repos now - they finally figured out charging for private repos was stupid. You get the usual Git stuff: branches, commits, merges, and the inevitable merge conflicts that make you question your life choices. The web interface is decent for browsing code, though you'll still do most real work in your terminal.

Pull Requests: Democracy in Action
Pull requests are GitHub's main thing - someone makes changes, opens a PR, and then everyone argues about variable names for three days before rubber-stamping it. The review system works fine until your team lead decides to bikeshed every semicolon. Draft PRs are useful for "hey look at this broken shit I'm working on."

Issues: The Graveyard of Good Intentions
Every repo has an Issues tab where feature requests go to die. It's actually decent for bug tracking if your team doesn't abandon it after the first sprint. The search sucks though - good luck finding that bug report from six months ago.

The Expensive Shit They Try to Sell You

Codespaces: VSCode in the Cloud
GitHub Codespaces is basically VSCode running on Microsoft's servers. It's cool when it works, but you'll blow through your free 120 hours in about a week. At $0.18/hour minimum, it costs more than AWS EC2 instances for what amounts to a dev container with a fancy interface.

GitHub Codespaces Interface

Security Theater
GitHub scans your code for accidentally committed secrets. I learned this the hard way when I pushed AWS keys to a public repo at 2 AM - their scanner caught it within 30 seconds, but not before three bots had scraped it. Dependabot creates more PRs than your entire team, updating dependencies that probably didn't need updating. Pro tip: Dependabot loves to update your testing framework right before a production deploy. Nothing like 47 broken tests to spice up your Friday afternoon.

People are still pushing secrets like fucking idiots. Last year alone, millions of API keys, passwords, and tokens got leaked to public repos. Despite all the security tools, vulnerable code patches increased by 50%. The average vulnerability sits there for years, which explains why your dependency updates feel endless.

The Security Dashboard Reality: GitHub's security features create a false sense of security. Secret scanning will catch your API keys, but only after you've already pushed them to a public repo and the damage is done. Dependabot alerts pile up faster than you can review them, and most teams just auto-merge dependency updates without understanding what changed.

The security stuff is actually useful if you can afford it. CodeQL finds real bugs, but the Advanced Security features cost extra because of course they do.

The AI Stuff and Other Ways to Spend Money

The AI Stuff and Other Ways to Spend Money

GitHub jumped on the AI bandwagon and honestly, some of it doesn't completely suck.

They've also got CI/CD, project management, and all the other shit you expect from a modern dev platform.

Copilot: AI Autocomplete for Code

GitHub Copilot is AI autocomplete for code powered by OpenAI Codex.

Sometimes it writes exactly the function you need, sometimes it suggests deprecated React lifecycle methods that look perfect until your console explodes with warnings. Millions of developers use Copilot now, making it stupidly popular. For $10/month individual or $19/user for teams, it's decent but not life-changing

  • think fancy IntelliSense that occasionally writes entire functions for you.

The Copilot Experience: Picture this

  • you're typing a function name and suddenly a gray suggestion appears, completing your entire thought.

Sometimes it's exactly what you needed, other times it's completely wrong but looks plausible enough that you waste 20 minutes debugging why the AI's "solution" doesn't work.

What It Actually Does:

  • Decent autocompletion across most programming languages

  • Sometimes writes working functions from comments

  • Often suggests code that looks right but breaks in weird ways

  • Converts natural language to code (when it feels like it)

  • The productivity stats are marketing bullshit designed to justify the subscription cost, but it does save typing

The new GitHub Models and Spark stuff are Microsoft trying to make GitHub the center of everything AI.

It's fine if you're already in their ecosystem.

Actions: CI/CD That Mostly Works

GitHub Actions is their CI/CD system.

It's slower than GitLab CI but integrates better with the rest of GitHub. Millions of workflows run daily, with continuous deployment becoming more popular. The free tier gives you 2000 minutes, which disappears faster than free pizza at a developer conference.

GitHub Actions Workflow Example

What You Get:

  • 2000 free minutes that you'll burn through in a week

  • Enterprise gets 50,000 minutes, which is actually reasonable

  • Marketplace with thousands of pre-built actions (quality varies wildly)

  • Self-hosted runners if you don't trust Microsoft's infrastructure

  • Windows and mac

OS runners cost 2x and 10x respectively

  • the Windows runners also take 3 minutes just to boot up, so your 30-second test suite becomes a 5-minute CI run

Actions workflows are YAML hell, but at least the documentation is decent.

Our CI started failing randomly because a popular marketplace action got updated and broke backward compatibility. No warning, just suddenly everything's red. Pro tip: always pin action versions unless you enjoy debugging random breakages.

Project Management:

Jira for People Who Hate Jira Less

GitHub Projects is their project management tool. It's better than Issues but worse than dedicated PM tools like Linear or Notion. Good enough if you don't want to pay for Jira.

The new Projects interface is actually usable, unlike the old one that everyone ignored. You can make Kanban boards that don't completely suck and track milestones without wanting to throw your laptop.

GitHub Projects Interface

Packages:

Docker Registry That Costs More Than Docker Hub

GitHub Packages is their package registry. It works for npm, Docker, Maven, whatever. The free tier is 500MB, which is basically nothing if you're publishing container images. Enterprise gets 50GB, which is reasonable.

The container registry is fine but more expensive than Docker Hub or AWS ECR. Use it if you want everything in one place, skip it if you're watching costs.

The Apps Nobody Uses

GitHub Mobile exists but you'll never use it for actual coding. It's decent for checking PRs while pretending to pay attention in meetings.

GitHub CLI is actually pretty good

  • faster than clicking through the web interface. GitHub Desktop is for people who are afraid of the command line.

![GitHub Flow

Why Everyone Uses GitHub (And Why That's Terrifying)

GitHub won the version control wars through a combination of timing, network effects, and not being totally incompetent. Now they're everywhere and there's no easy way out.

Everyone's Stuck on GitHub

Most companies use GitHub because switching is a nightmare, not because it's perfect. The Fortune 100 adoption stats are impressive but misleading - they're there because everyone else is there, not because GitHub is objectively the best.

Microsoft buying GitHub for $7.5 billion in 2018 was smart. They get to control where most code lives and slowly push developers toward their other products. The open source community freaked out initially but mostly got over it when Microsoft didn't immediately ruin everything.

GitHub Network Effects Visualization

Why It Matters:

  • Network effects are brutal - if your dependencies are on GitHub, you're probably on GitHub
  • Hiring is easier when everyone knows the same platform
  • Enterprise likes "nobody gets fired for buying Microsoft"
  • Switching costs increase exponentially with team size

The Numbers Game

GitHub has stupid numbers because they got there first and stayed there:

  • 100+ million developers as of 2024, growing fast worldwide
  • Over 420 million repositories hosted on the platform
  • Billions in revenue means Microsoft isn't shutting it down anytime soon
  • Python became the most popular language on GitHub, overtaking JavaScript due to AI development boom
  • Billions of contributions made across projects every year

GitHub Global Developer Growth by Country

The language trends are actually useful - TypeScript adoption shows developers are tired of JavaScript's bullshit, and Rust growth indicates people want performance without C++ headaches.

The Ecosystem Lock-In

The GitHub Marketplace exists to keep you trapped in their ecosystem. Every integration makes switching harder:

  • Third-party apps that only work with GitHub
  • CI/CD workflows that assume GitHub-specific features
  • Security tools that integrate deeply with GitHub's APIs
  • GitHub Apps for authentication and authorization

The marketplace quality is inconsistent - some apps are essential, others are abandoned side projects with GitHub branding.

Open Source Hostage Situation

GitHub hosts most open source projects because that's where developers expect to find them. This creates a weird monopoly:

  • If you want contributors, you need to be where they are
  • GitHub Sponsors helps maintainers get paid but ties them deeper into the platform
  • The security advisory system is useful but proprietary
  • GitHub Pages provides free hosting that hooks projects into their ecosystem

The biggest projects like VS Code and React being on GitHub makes alternatives look less legitimate.

Competition Is Dead in the Water

GitLab has better CI/CD and Bitbucket has better Jira integration, but GitHub's network effects are insurmountable:

  • Developers don't want to learn new platforms
  • Recruiters search for candidates by GitHub profiles
  • Enterprise buyers trust Microsoft more than smaller companies
  • The AI integration with Copilot gives them a moat

Why Alternatives Struggle:
We tried migrating to GitLab in 2023. The code moved fine, but we lost 3 years of issue history, broke like a dozen integrations, and confused half the team. We moved back after two weeks because it was a fucking disaster.

  • Migration tools suck and lose important data
  • Social features (stars, following, etc.) don't transfer
  • Third-party integrations assume GitHub APIs
  • Muscle memory and familiarity favor incumbents

The Future: More Lock-In

Microsoft's strategy is obvious - make GitHub the center of everything:

  • Copilot integration pushes you toward their AI services
  • Azure DevOps integration for enterprise customers
  • VS Code and GitHub Codespaces create seamless workflows
  • GitHub Models positions them for the AI development boom

They're not trying to be the best at everything, just good enough at enough things that switching becomes impossible.

GitHub Pricing: How They Get Your Money

Feature

Free

Team ($4/user)

Enterprise ($21/user)

What You Actually Get

Basic Git hosting

Same as free + web support

All the enterprise buzzwords

Actions Minutes

2,000 (gone in a week)

3,000 (slightly less pathetic)

50,000 (actually reasonable)

Package Storage

500MB (laughably small)

2GB (still not enough)

50GB (finally usable)

Real Cost Per Year

0

48/user

252/user

Worth It?

Yes for personal projects

Maybe for small teams

Only if you need compliance theater

Questions Developers Actually Ask About GitHub

Q

Why is GitHub so fucking expensive?

A

The free tier hooks you, then they bleed you dry. Actions minutes disappear instantly, especially if you build on Windows/macOS (10x multiplier is criminal). Storage limits are a joke. They know you can't leave once your team is hooked, so they price accordingly.

Q

How often does GitHub go down and ruin your day?

A

Less than you'd expect, but when it happens it's always at the worst time. Check githubstatus.com when stuff breaks. Pro tip: keep local mirrors of critical repos because Murphy's law guarantees outages during demos.

Q

Is Copilot worth $10/month or is it just expensive autocomplete?

A

It's expensive autocomplete that occasionally writes useful functions. I wasted 3 hours debugging a Copilot suggestion that looked perfect but used a deprecated API. Worth it if you write a lot of boilerplate, but don't expect miracles. Half the suggestions are wrong, the other half are obvious. The productivity stats are bullshit marketing designed to justify the subscription cost.

Q

Will Microsoft ruin GitHub like they ruin everything else?

A

So far, no. They've actually improved it in some ways. The acquisition panic was overblown

  • Microsoft needs developers more than developers need Microsoft. But the Azure integration pressure is real and growing.
Q

How do I escape GitHub's vendor lock-in?

A

You can't. Not really. Git repos are portable, but you lose stars, forks, issues, PRs, Actions workflows, and all the social features that make GitHub valuable. The network effects are too strong. Pick your poison and embrace the Stockholm syndrome.

Q

Why can't I find that fucking issue from six months ago?

A

Because GitHub's search is ass. Use Google with site:github.com instead. The issue is probably closed and buried under 500 other "enhancement" requests that will never be implemented.

Q

Do I really need GitHub Enterprise for my team?

A

Only if you need compliance theater or your security team demands SAML SSO. For actual development, the Team plan is usually enough. Enterprise is mostly about administrative features that make managers feel important.

Q

How do I stop Dependabot from spamming me with PRs?

A

Dependabot will create 23 PRs updating different patch versions, then break your build because two dependencies have conflicting peer requirements. Configure your dependabot.yml file to be less aggressive, or disable it entirely if you prefer manual dependency management. The default settings assume you want updates for every patch version, which is insane for most projects.

Q

Why are my Actions builds so slow compared to GitLab CI?

A

Because GitHub's runners are oversubscribed and slower. GitLab CI is genuinely faster. Self-hosted runners help but add maintenance overhead. The tradeoff is integration convenience vs performance.

Q

Can I run GitHub Enterprise on-premises without losing my sanity?

A

GitHub Enterprise Server exists but it's a pain in the ass. You lose some cloud features, updates are slower, and you're responsible for infrastructure. Only worth it if you have strict data residency requirements.

Q

Is GitHub Pages worth using for documentation?

A

It's free and works well for static sites. Jekyll integration is decent, custom domains work fine. Main downside is you're tied to their build environment. Consider it for simple documentation sites.

Q

What happens to my private repos if I stop paying?

A

They become read-only after your grace period expires. You can still clone them and push to other services, but you lose Actions, issues, PRs, and all GitHub-specific features. Plan your exit strategy before you're desperate.

Q

Why do my SSH keys keep getting rejected?

A

Usually it's Permission denied (publickey) which tells you absolutely nothing useful. Check if you're using the right key format (GitHub deprecated some older formats). Make sure you're using git@github.com not https:// URLs. If it still fails, delete ~/.ssh/known_hosts, regenerate your keys, and sacrifice a rubber duck to the SSH gods.

Related Tools & Recommendations

pricing
Similar content

Enterprise Git Hosting: GitHub, GitLab & Bitbucket Cost Analysis

When your boss ruins everything by asking for "enterprise features"

GitHub Enterprise
/pricing/github-enterprise-bitbucket-gitlab/enterprise-deployment-cost-analysis
100%
tool
Similar content

GitLab CI/CD Overview: Features, Setup, & Real-World Use

CI/CD, security scanning, and project management in one place - when it works, it's great

GitLab CI/CD
/tool/gitlab-ci-cd/overview
74%
tool
Similar content

Git Overview: Master Version Control & Its Core Architecture

Explore Git, the dominant version control system. Understand its powerful architecture, core concepts, and why it's essential for modern development. Get answer

Git
/tool/git/overview
70%
howto
Similar content

Configure Multiple Git Accounts with SSH Keys

Git asking for passwords every goddamn time? Personal furry fanfiction commits accidentally pushed to your company repo?

Git
/howto/configure-git-multiple-accounts/ssh-based-configuration
55%
howto
Similar content

How to Set Up SSH Keys for Git & GitHub: A Complete Guide

Tired of typing your GitHub password every fucking time you push code?

Git
/howto/setup-git-ssh-keys-github/complete-ssh-setup-guide
53%
howto
Similar content

Undo Git Commits: Keep Changes & Fix Mistakes Safely

Committed too early and now you're fucked? Here's how to unfuck yourself without losing two weeks of work

Git
/howto/undo-git-commit-keep-changes/complete-undo-guide
51%
pricing
Similar content

GitHub Copilot Alternatives ROI: Calculate AI Coding Value

The Brutal Math: How to Figure Out If AI Coding Tools Actually Pay for Themselves

GitHub Copilot
/pricing/github-copilot-alternatives/roi-calculator
51%
tool
Recommended

Azure DevOps Services - Microsoft's Answer to GitHub

integrates with Azure DevOps Services

Azure DevOps Services
/tool/azure-devops-services/overview
46%
troubleshoot
Similar content

Fix Git 'Your Local Changes Would Be Overwritten' Error

The Git error that's fucked more developers than missing semicolons - 5 battle-tested solutions that actually work

Git
/troubleshoot/git-local-changes-overwritten/common-solutions
45%
troubleshoot
Similar content

Fix Complex Git Merge Conflicts - Advanced Resolution Strategies

When multiple development teams collide and Git becomes a battlefield - systematic approaches that actually work under pressure

Git
/troubleshoot/git-local-changes-overwritten/complex-merge-conflict-resolution
39%
alternatives
Similar content

GitHub Alternatives by Developer Workflow: Find Your Perfect Match

Choose based on how you actually want to work, not just features and pricing

GitHub
/alternatives/github/workflow-driven-alternatives
37%
tool
Similar content

Git Disaster Recovery & CVE-2025-48384 Security Alert Guide

Learn Git disaster recovery strategies and get immediate action steps for the critical CVE-2025-48384 security alert affecting Linux and macOS users.

Git
/tool/git/disaster-recovery-troubleshooting
37%
tool
Similar content

Git Restore: Safely Undo Changes & Restore Files in Git

Stop using git checkout to restore files - git restore actually does what you expect

Git Restore
/tool/git-restore/overview
37%
pricing
Similar content

GitHub's 2025 Pricing: Enterprise Git Hosting Costs Explode

GitHub's pricing screw-job means you're paying 23% more for the same security features

/pricing/enterprise-git-hosting/overview
36%
troubleshoot
Similar content

Fix Git 'Failed to Push Some Refs' Error: Ultimate Guide

The definitive fix guide for the error that's destroyed more deployments than any other Git message

Git
/troubleshoot/git-failed-push-some-refs/push-rejection-solutions
35%
tool
Similar content

ArgoCD - GitOps for Kubernetes That Actually Works

Continuous deployment tool that watches your Git repos and syncs changes to Kubernetes clusters, complete with a web UI you'll actually want to use

Argo CD
/tool/argocd/overview
33%
howto
Similar content

Git: How to Merge Specific Files from Another Branch

November 15th, 2023, 11:47 PM: Production is fucked. You need the bug fix from the feature branch. You do NOT need the 47 experimental commits that Jim pushed a

Git
/howto/merge-git-branch-specific-files/selective-file-merge-guide
31%
troubleshoot
Similar content

Git Fatal Not a Git Repository: Enterprise Security Solutions

When Git Security Updates Cripple Enterprise Development Workflows

Git
/troubleshoot/git-fatal-not-a-git-repository/enterprise-security-scenarios
29%
troubleshoot
Similar content

Git Fatal Not a Git Repository - Fix It in Under 5 Minutes

When Git decides to fuck your deployment at 2am

Git
/troubleshoot/git-fatal-not-a-git-repository/common-errors-solutions
29%
troubleshoot
Similar content

Fix Git Checkout Failures: Local Changes Overwritten Error

When Git checkout blocks your workflow because uncommitted changes are in the way - battle-tested solutions for urgent branch switching

Git
/troubleshoot/git-local-changes-overwritten/branch-switching-checkout-failures
29%

Recommendations combine user behavior, content similarity, research intelligence, and SEO optimization