Git-based version control and collaboration platform with repositories, pull requests, Actions CI/CD, Codespaces and Packages.
Pricing: 0 USD · Updated 2026-09-03
developmentYes. GitHub's free plan includes unlimited public and private repositories, 2,000 CI/CD minutes per month and 500MB Packages storage (price checked 2026-09-03). Paid Team ($4/user/month) and Enterprise (from $21/user/month) add minutes, Codespaces and SSO.
GitHub is a web platform accessible from any browser, with native desktop clients for Windows, macOS and Linux (GitHub Desktop) and the Git command line on every major OS.
Git explained: what version control is, how Git stores history as content-addressed snapshots, why branches are cheap, and how Git and GitHub fit together.
Compare the most common Git branching strategies — GitFlow, GitHub Flow, and trunk-based development — with concrete commands, branch structures, and a guide to choosing the right workflow for your team's release cadence and size.
Set up a CI/CD pipeline with GitHub Actions: create your first workflow, configure triggers, build and test your code on runners, use actions and secrets, and deploy automatically — open-license sources.
SSH explained: what Secure Shell is, how the protocol works end to end, and why it replaced telnet and rsh.
Set up SSH key authentication for GitHub and Linux servers: generate Ed25519 keys, add to ssh-agent, copy public key, and test connection — step-by-step with open-license sources.
A webhook is a user-defined HTTP callback: one service sends an HTTP request to a URL you control when an event happens. Learn how they work, how they differ from polling and regular APIs, and how to verify signatures and handle retries safely.
JSON (JavaScript Object Notation) is an open, language-independent, text-based data interchange format derived from JavaScript object syntax. It represents data as a small set of types — objects, arrays, strings, numbers, booleans, and null — and is the de facto format for web APIs, configuration files, and data exchange between servers and clients. This guide explains JSON's syntax, its data types, how it compares to XML and YAML, and how to parse and generate it.
OAuth 2.0 is an open standard for delegated authorization defined in RFC 6749. It lets a user (the resource owner) grant a third-party application (the client) limited access to resources on another server without sharing their password. This guide explains the four roles, the main grant types, the recommended authorization-code flow with PKCE, and the security best practices from RFC 9700.
A regular expression (regex or regexp) is a sequence of characters that forms a search pattern for matching and manipulating text. Built on a formal mathematical foundation and common to almost every programming language and tool, regex lets you validate input, find and replace text, extract data, and transform strings with a compact, declarative syntax. This guide explains what regex is, its core syntax, how it is implemented, and how to use it safely.
Cross-Site Scripting (XSS) lets an attacker run their own JavaScript in another user's browser. This guide explains how the three types work and the defenses that stop them.
Cross-Site Request Forgery (CSRF) tricks a logged-in browser into sending unwanted requests to a trusted site. This guide explains how the attack works and the defenses that stop it.
Bash is the default Unix shell on most Linux distributions and on macOS. Learn how Bash scripts work: variables, parameter expansion, conditionals, loops, functions, exit codes, and best practices for reliable, safe scripts.
Object-oriented programming is a paradigm based on objects that combine data and behavior. Learn the four pillars — encapsulation, inheritance, polymorphism, and abstraction — with practical examples and how they work in JavaScript, Java, and Python.
What is a cron job? Learn how cron and crontab work, the five-field schedule syntax with examples, common use cases, and modern alternatives like systemd timers and managed schedulers.
The JavaScript event loop is the runtime model that lets single-threaded JavaScript run asynchronous code. Learn how the call stack, the task queue, and the microtask queue cooperate, and why Promise callbacks fire before setTimeout.