GitHub Features (original) (raw)

The tools you need to build

what you want

Collaborative coding

Screenshot of a code review conversation in GitHub, showing a code change where a line has been edited to include variableDeprecations in addition to versionDeprecations and selectorDeprecations. The change is highlighted, with the old line in red and the new line in green. Below the code, there is a conversation thread with comments from three users, appreciating the catch and expressing satisfaction with the teamwork. The conversation ends with a 'Resolve conversation' button.

Innovate faster with
seamless collaboration.

GitHub Codespaces

Spin up fully configured dev environments in the cloud with the full power of your favorite editor.

GitHub Copilot

Get suggestions for whole lines of code or entire functions right inside your editor.

Pull requests

Receive notifications of contributor changes to a repository, with specified access limits, and seamlessly merge accepted updates.

Discussions

Dedicated space for your community to come together, ask and answer questions, and have open-ended conversations.

Code search & code view

Rapidly search, navigate, and understand code right from GitHub.com with our powerful new tools.

Code review

Review new code, visualize changes, and merge confidently with automated status checks.

Draft pull requests

Collaborate and discuss changes without a formal review or the risk of unwanted merges.

Protected branches

Enforce branch merge restrictions by requiring reviews or limiting access to specific contributors.

Automation and CI/CD

Screenshot of a CI/CD pipeline in GitHub, showing the progress of a build-release workflow. The pipeline includes steps for building on Ubuntu, Windows, and macOS, followed by testing. The production deployment is pending for web-app, web-app-eu, and database, each waiting for additional processes or reviews. The background gradient transitions from blue to green, with a 'Review deployments' button at the top right.

Automate everything: CI/CD, testing, planning, project management, issue labeling, approvals, onboarding, and more.

GitHub Actions

Automate your software workflows by writing tasks and combining them to build, test, and deploy faster from GitHub.

GitHub Packages

Host your own software packages or use them as dependencies in other projects, with both private and public hosting available.

APIs

Create calls to get all the data and events you need within GitHub, and automatically kick off and advance your software workflows.

GitHub Marketplace

Leverage thousands of actions and applications from our community to help build, improve, and accelerate your workflows.

Webhooks

Dozens of events and a webhooks API help you integrate with and automate work for your repository, organization, or application.

GitHub-hosted runners

Move automation to the cloud with on-demand Linux, macOS, Windows, ARM, and GPU environments for your workflow runs, all hosted by GitHub.

Self-hosted runners

Gain more environments and fuller control with labels, groups, and policies to manage runs on your own machines, plus an open source runner application.

Workflow visualization

Map workflows, track their progression in real time, understand complex workflows, and communicate status with the rest of the team.

Workflow templates

Standardize and scale best practices and processes with preconfigured workflow templates shared across your organization.

Application security

Screenshot illustrating GitHub Advanced Security (GHAS) in action. The left side shows a line graph tracking the number of vulnerabilities by severity (Critical, High, Moderate, Low) over time, with data points from January 1 to February 15, 2024. The right side displays a security bot's recommendation to fix a vulnerability in the code. The bot explains that user-provided input is being used in an HTTP response without sanitization, potentially leading to a cross-site scripting (XSS) attack. The AI-suggested fix involves using the escape-html library to sanitize the input, with the old code in red and the new, corrected code in green. The background features a smooth blue gradient.

Code scanning

Find vulnerabilities in your code with CodeQL, GitHub’s industry-leading semantic code analysis. Prevent new vulnerabilities from being introduced by scanning every pull request.

GitHub Copilot Autofix

Powered by GitHub Copilot, generate automatic fixes for 90% of alert types in JavaScript, TypeScript, Java, and Python. Quickly remediate with contextual vulnerability intelligence and advice.

Security campaigns

Solve your backlog of application security debt with security campaigns that target and generate autofixes for up to 1,000 alerts at a time, rapidly reducing the risk of vulnerabilities and zero-day attacks.

Secret scanning

Detect exposed secrets in your public and private repositories, and revoke them to secure access to your services.

Dependency graph

View the packages your project relies on, the repositories that depend on them, and any vulnerabilities detected in their dependencies.

Dependabot alerts

Receive alerts when new vulnerabilities affect your repositories, with GitHub detecting and notifying you of vulnerable dependencies in both public and private repositories.

Dependency review

Assess the security impact of new dependencies in pull requests before merging.

GitHub security advisories

Privately report, discuss, fix, and publish information about security vulnerabilities found in open source repositories.

GitHub Advisory Database

Browse or search GitHub's database of known vulnerabilities, featuring curated CVEs and security advisories linked to the GitHub dependency graph.

Client apps

Screenshot showcasing GitHub across Desktop, Mobile, and Command Line interfaces. The Desktop interface shows a repository with multiple changed files, highlighting app/npm-shrinkwrap.json and a comparison of code changes. The Command Line interface displays the output of the gh pr status command, showing the status of pull requests, with some passing checks and one failing. The Mobile interface on the right side displays the 'Home' screen with options like Issues, Pull Requests, Discussions, and more.

Access GitHub anywhere: On Desktop, Mobile, and Command Line.

GitHub Mobile

Take your projects, ideas, and code to go with fully native mobile and tablet experiences.

GitHub CLI

Manage issues and pull requests from the terminal, where you're already working with Git and your code.

GitHub Desktop

Simplify your development workflow with a GUI to visualize, commit, and push changes—no command line needed.

Project management

Screenshot of a GitHub Projects board titled 'Product Roadmap,' displaying three columns: Backlog, In Progress, and Triage. Each column contains cards representing issues or tasks, with labels and tags indicating status, priority, iteration, and design requirements. The board features a gradient background transitioning from blue to green.

Keep feature requests, bugs, and more organized.

GitHub Projects

Create a customized view of your issues and pull requests to plan and track your work.

GitHub Issues

Track bugs, enhancements, and other requests, prioritize work, and communicate with stakeholders as changes are proposed and merged.

Milestones

Track progress on groups of issues or pull requests in a repository, and map groups to overall project goals.

Charts and insights

Leverage insights to visualize your projects by creating and sharing charts built from your project's data.

Org dependency insights

View vulnerabilities, licenses, and other important information for the open source projects your organization depends on.

Repository insights

Use data about activity, trends, and contributions within your repositories, to make data-driven improvements to your development cycle.

Wikis

Host project documentation in a wiki within your repository, allowing contributors to easily edit it on the web or locally.

Governance & administration

Screenshot of a GitHub Team Administration board showing the 'Who has access' section for a private repository. The page displays access levels, including 'Base Role' where all 23 GitHub IAM members have read access, 'Direct Access' for 14 members, and 'Organization Access' for 12 members. The 'Manage access' section below lists individual users with options to create a team, add people, or add a team. Each user entry includes their role, such as 'Write' or 'Read,' along with options to modify their access. The background features a gradient from pink to purple.

Simplify access and permissions management across your projects and teams.

Organizations

Create groups of user accounts that own repositories and manage access on a team-by-team or individual user basis.

Teams

Organize your members to mirror your company's structure, with cascading access to permissions and mentions.

Team sync

Enable team synchronization between your identity provider and your organization on GitHub, including Entra ID and Okta.

Custom roles

Define users' access level to your code, data, and settings based on their role in your organization.

Custom repository roles

Ensure members have only the permissions they need by creating custom roles with fine-grained permission settings.

Domain verification

Verify your organization's identity on GitHub and display that verification through a profile badge.

Compliance reports

Take care of your security assessment and certification needs by accessing GitHub’s cloud compliance reports, such as our SOC reports and Cloud Security Alliance CAIQ self-assessments (CSA CAIQ).

Audit log

Quickly review the actions performed by members of your organization. Monitor access, permission changes, user changes, and other events.

Repository rules

Enhance your organization's security with scalable source code protections, and use rule insights to easily review how and why code changes occurred in your repositories.

Requires GitHub Enterprise

Enterprise accounts

Enable collaboration between your organization and GitHub environments with a single point of visibility and management via an enterprise account.

Requires GitHub Enterprise

GitHub Connect

Share features and workflows between your GitHub Enterprise Server instance and GitHub Enterprise Cloud.

Requires GitHub Enterprise

SAML

Securely control access to organization resources like repositories, issues, and pull requests with SAML, while allowing users to authenticate with their GitHub usernames.

Requires GitHub Enterprise

LDAP

Centralize repository management. LDAP is one of the most common protocols used to integrate third-party software with large company user directories.

Requires GitHub Enterprise

Enterprise Managed Users

Manage the lifecycle and authentication of users on GitHub Enterprise Cloud from your identity provider (IdP).

Community

Screenshot of GitHub Sponsors cards, displaying various open-source projects and individuals available for sponsorship. Each card includes the project or individual's name, an avatar or logo, and a 'Sponsor' button with a heart icon. The background features a gradient transitioning from dark purple to bright orange.

GitHub Sponsors

Financially support the open source projects your code depends on. Sponsor a contributor, maintainer, or project with one time or recurring contributions.

GitHub Skills

Learn new skills by completing tasks and projects directly within GitHub, guided by our friendly bot.

Electron

Write cross-platform desktop applications using JavaScript, HTML, and CSS with the Electron framework, based on Node.js and Chromium.

Education

GitHub Education is a commitment to bringing tech and open source collaboration to students and educators across the globe.