Skip to content

Instantly share code, notes, and snippets.

@dudo
Last active December 6, 2024 04:45
Show Gist options
  • Save dudo/95938ac2636affa634a7aebde89d71d8 to your computer and use it in GitHub Desktop.
Save dudo/95938ac2636affa634a7aebde89d71d8 to your computer and use it in GitHub Desktop.
GitHub Features and Functionality

GitHub Features and Functionality

Here’s a comprehensive list of GitHub functionality, including many of the "hidden gems" that provide extra features

Repository Management

  • Repositories

    Standard Git repositories hosted on GitHub.

  • Templates

    Special repos that can be used to create new projects with predefined structures.

  • GitHub Pages

    Host static sites directly from the gh-pages branch or /docs folder.

  • Wikis

    Built-in wikis for documenting projects.

  • Environments

    Define different deployment stages (e.g., staging, production) with protected secrets.

  • Deployments

    Track deployment states and statuses for your environments.

  • Actions Workflows

    Automate tasks using YAML-based workflows in .github/workflows/.

  • Dependabot

    Automatically checks for dependency updates.

Special Files and Directories

  • README.md

    Displays as the main project documentation.

  • CONTRIBUTING.md

    Guidelines for contributing to the project.

  • CODE_OF_CONDUCT.md

    Code of conduct for project contributors.

  • LICENSE

    License information for open-source projects.

  • SECURITY.md

    Security policy for reporting vulnerabilities.

  • ISSUE_TEMPLATE/ and PULL_REQUEST_TEMPLATE/

    Templates for issues and pull requests.

  • FUNDING.yml

    Links to funding sources, like Patreon or GitHub Sponsors.

  • CODEOWNERS

    File to define code owners for specific files or paths, auto-adding them as reviewers.

  • Dependabot Config (.github/dependabot.yml)

    Customize dependency update behavior.

  • GitHub Actions (.github/workflows/)

    Define CI/CD and automation workflows.

  • .github Repository

    Special repository for shared GitHub configuration files.

  • .github-private Repository

    Special repository for private GitHub configuration files.

Collaboration and Community

  • Issues

    Track bugs, enhancements, and discussions.

  • Pull Requests

    Collaborate on code changes before merging.

  • Discussions

    Open-ended conversations separate from issues and PRs.

  • Projects

    Kanban-style boards for managing issues and PRs.

  • Milestones

    Group issues and PRs under project goals with deadlines.

  • Labels

    Organize issues and PRs with tags.

Security and Permissions

  • Secrets

    Store encrypted secrets (used in workflows or CI/CD).

  • Branch Protection Rules

    Define rules to restrict access to branches.

  • Required Reviews

    Require specific reviews before merging.

  • Dependency Graph

    View dependencies and dependency vulnerabilities.

  • Security Advisories

    Create advisories for known vulnerabilities in your project.

  • Vulnerability Alerts

    Alerts when dependencies are affected by vulnerabilities.

Insights and Analytics

  • Pulse

    Activity metrics for issues, PRs, and commits.

  • Traffic Analytics

    Track views, clones, and referrers.

  • Contributors Graph

    Visualizes contributions over time.

  • Commits History

    View all commits, organized by contributor or time frame.

Integrations

  • Webhooks

    Send repository events to external services.

  • OAuth Apps

    Apps using OAuth for authentication.

  • GitHub Apps

    Integrate custom apps to interact with GitHub API.

  • Marketplace

    GitHub-approved apps and tools for various integrations.

  • GitHub Packages

    Host and share packages and container images.

  • GitHub Event Bus

    Event-driven architecture for GitHub integrations.

Developer Tools

  • Actions Marketplace

    Community actions for GitHub Actions workflows.

  • GraphQL API

    GitHub API available via GraphQL.

  • REST API

    Full GitHub REST API for interacting with resources.

  • GitHub CLI (gh)

    Command-line interface to interact with GitHub.

Specialized Repos and Features

  • Monorepos

    Multi-project repository support, often with workflows tailored for them.

  • Archived Repositories

    Mark repositories as read-only archives.

  • Forking

    Create copies of repositories for personal work.

  • Submodules

    Link to other repositories within a project.

  • GitHub Sponsors

    Funding model for sponsoring open-source contributors.

GitHub Advanced Security (Enterprise)

  • Code Scanning

    Detect vulnerabilities with integrated static analysis.

  • Secret Scanning

    Detect accidentally committed secrets in your code.

  • Dependency Review

    Shows dependency changes in pull requests for better security.

Notifications and Automation

  • Notifications

    Track notifications via email or on GitHub.

  • Saved Replies

    Templates for common responses to issues and PRs.

  • Auto-merge

    Enable auto-merging for PRs that meet specific conditions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment