# Get started with GitHub documentation

Learn how to start building, shipping, and maintaining software with GitHub. Explore our products, sign up for an account, and connect with the world's largest development community.

## Recommended

* [Start your journey](/en/get-started/start-your-journey)

  <p>Brand new to GitHub? Learn the basics here.</p>

* [Learn to code with GitHub Copilot](/en/get-started/learning-to-code)

  Learn how GitHub and Copilot can help you build programming skills, write better code, and ship secure projects.

* [Creating an account on GitHub](/en/get-started/start-your-journey/creating-an-account-on-github)

  <p>Create a personal account to get started with GitHub.</p>

* [Set up Git](/en/get-started/git-basics/set-up-git)

  <p>At the heart of GitHub is an open-source version control system (VCS) called Git. Git is responsible for everything GitHub-related that happens locally on your computer.</p>

* [Hello World](/en/get-started/start-your-journey/hello-world)

  <p>Follow this Hello World exercise to learn GitHub's pull request workflow.</p>

* [Getting started with your GitHub account](/en/get-started/onboarding/getting-started-with-your-github-account)

  With a personal account on GitHub, you can import or create repositories, collaborate with others, and connect with the GitHub community.

* [GitHub's plans](/en/get-started/learning-about-github/githubs-plans)

  <p>An overview of GitHub's pricing plans.</p>

* [Quickstart for writing on GitHub](/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github)

  <p>Learn advanced formatting features by creating a README for your GitHub profile.</p>

* [Finding ways to contribute to open source on GitHub](/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)

  You can find ways to contribute to open source projects on GitHub that are relevant to you.

## Links

### Getting started

* [Hello World](/en/get-started/start-your-journey/hello-world)

  Follow this Hello World exercise to learn GitHub's pull request workflow.

* [About GitHub and Git](/en/get-started/start-your-journey/about-github-and-git)

  You can use GitHub and Git to collaborate on work.

## Articles

* [About GitHub and Git](/en/get-started/start-your-journey/about-github-and-git)

  You can use GitHub and Git to collaborate on work.

* [Creating an account on GitHub](/en/get-started/start-your-journey/creating-an-account-on-github)

  Create a personal account to get started with GitHub.

* [Hello World](/en/get-started/start-your-journey/hello-world)

  Follow this Hello World exercise to learn GitHub's pull request workflow.

* [Setting up your profile](/en/get-started/start-your-journey/setting-up-your-profile)

  Your profile tells people who you are and what you're interested in.

* [Finding inspiration on GitHub](/en/get-started/start-your-journey/finding-inspiration-on-github)

  You can find inspiration for your own projects and learning on GitHub and connect with a community.

* [Downloading files from GitHub](/en/get-started/start-your-journey/downloading-files-from-github)

  Learn how to download files from GitHub, and understand the difference between downloading, cloning, and forking.

* [Uploading a project to GitHub](/en/get-started/start-your-journey/uploading-a-project-to-github)

  Learn how to upload the files for your project to GitHub.

* [Git and GitHub learning resources](/en/get-started/start-your-journey/git-and-github-learning-resources)

  There are a lot of helpful Git and GitHub resources available.

* [Getting started with your GitHub account](/en/get-started/onboarding/getting-started-with-your-github-account)

  With a personal account on GitHub, you can import or create repositories, collaborate with others, and connect with the GitHub community.

* [Getting started with GitHub Team](/en/get-started/onboarding/getting-started-with-github-team)

  With GitHub Team groups of people can collaborate across many projects at the same time in an organization account.

* [Getting started with the GitHub Enterprise Cloud trial](/en/get-started/onboarding/getting-started-with-the-github-enterprise-cloud-trial)

  Set up the products available in your GitHub Enterprise Cloud trial.

* [Getting started with GitHub Enterprise Cloud](/en/get-started/onboarding/getting-started-with-github-enterprise-cloud)

  Get started with setting up and managing your enterprise account with GitHub Enterprise Cloud.

* [Getting started with GitHub Enterprise Server](/en/getting-started-with-github-enterprise-server)

  Get started with setting up and managing GitHub.com.

* [GitHub flow](/en/get-started/using-github/github-flow)

  Follow GitHub flow to collaborate on projects.

* [Connecting to GitHub](/en/get-started/using-github/connecting-to-github)

  Learn about the tools you can use to work with repositories hosted on GitHub.

* [Communicating on GitHub](/en/get-started/using-github/communicating-on-github)

  You can discuss specific projects and changes, as well as broader ideas or team goals, using different types of discussions on GitHub.

* [Exploring early access releases with feature preview](/en/get-started/using-github/exploring-early-access-releases-with-feature-preview)

  You can use feature preview to see products or features that are available in public preview and to enable or disable each feature for your personal account.

* [Supported browsers](/en/get-started/using-github/supported-browsers)

  For the best experience with GitHub, we recommend using the latest version of [Chrome](https://google.com/chrome), [Edge](https://www.microsoft.com/en-us/edge), [Firefox](https://mozilla.org/firefox), or [Safari](https://apple.com/safari).

* [GitHub Mobile](/en/get-started/using-github/github-mobile)

  Triage, collaborate, and manage your work on GitHub from your mobile device.

* [Allowing access to GitHub's services from a restricted network](/en/get-started/using-github/allowing-access-to-githubs-services-from-a-restricted-network)

  If your network restricts access to specific domains, a network administrator may be able to grant access to GitHub's services by creating exceptions for GitHub's domain names.

* [Troubleshooting connectivity problems](/en/get-started/using-github/troubleshooting-connectivity-problems)

  If you're having trouble connecting to GitHub, you can troubleshoot your connection, then use the GitHub Debug tool to diagnose problems.

* [GitHub's plans](/en/get-started/learning-about-github/githubs-plans)

  An overview of GitHub's pricing plans.

* [GitHub language support](/en/get-started/learning-about-github/github-language-support)

  An overview of the programming languages supported by GitHub features.

* [Types of GitHub accounts](/en/get-started/learning-about-github/types-of-github-accounts)

  Accounts on GitHub allow you to organize and control access to code.

* [Access permissions on GitHub](/en/get-started/learning-about-github/access-permissions-on-github)

  With roles, you can control who has access to your accounts and resources and the level of access each person has.

* [About GitHub Advanced Security](/en/get-started/learning-about-github/about-github-advanced-security)

  GitHub makes extra security features available to customers who purchase GitHub Code Security or GitHub Secret Protection. Some features are enabled for public repositories by default.

* [FAQ about changes to GitHub's plans](/en/get-started/learning-about-github/faq-about-changes-to-githubs-plans)

  As of April 14, 2020, GitHub announced that all of the core GitHub features are now free for everyone.

* [GitHub glossary](/en/get-started/learning-about-github/github-glossary)

  This glossary introduces common Git and GitHub terminology.

* [Setting up Copilot for learning to code](/en/get-started/learning-to-code/setting-up-copilot-for-learning-to-code)

  Configure Copilot to help you learn coding concepts and actively build your programming skills.

* [Getting started with Git](/en/get-started/learning-to-code/getting-started-with-git)

  Learn the basics of Git by working through an example scenario.

* [Finding and understanding example code](/en/get-started/learning-to-code/finding-and-understanding-example-code)

  Improve your coding skills by learning from example code on GitHub.

* [Reusing other people's code in your projects](/en/get-started/learning-to-code/reusing-other-peoples-code-in-your-projects)

  Increase your coding efficiency and knowledge by integrating existing code into your projects.

* [Developing your project locally](/en/get-started/learning-to-code/developing-your-project-locally)

  Learn how to create a local development environment by working with an example client-side application built on HTML, CSS, and JavaScript.

* [Learning to debug with GitHub Copilot](/en/get-started/learning-to-code/learning-to-debug-with-github-copilot)

  Identify and fix errors in your code by asking GitHub Copilot for help.

* [Getting feedback on your code from GitHub Copilot](/en/get-started/learning-to-code/getting-feedback-on-your-code-from-github-copilot)

  Learn how you can ask GitHub Copilot to review your code changes and apply the suggested changes it creates.

* [Storing your secrets safely](/en/get-started/learning-to-code/storing-your-secrets-safely)

  Learn about secrets in software development and how you can manage them safely.

* [Finding and fixing your first code vulnerability](/en/get-started/learning-to-code/finding-and-fixing-your-first-code-vulnerability)

  Learn the basics of securing your code by resolving a code scanning alert in a demo repository.

* [Finding and fixing your first dependency vulnerability](/en/get-started/learning-to-code/finding-and-fixing-your-first-dependency-vulnerability)

  Learn how to keep your dependencies secure by enabling Dependabot and its features in a demo repository.

* [Managing your theme settings](/en/get-started/accessibility/managing-your-theme-settings)

  You can manage how GitHub looks to you by setting a theme preference that either follows your system settings or always uses a light or dark mode.

* [Keyboard shortcuts](/en/get-started/accessibility/keyboard-shortcuts)

  Nearly every page on GitHub has a keyboard shortcut to perform actions faster.

* [GitHub Command Palette](/en/get-started/accessibility/github-command-palette)

  Use the command palette to navigate, search, and run commands directly from your keyboard.

* [Quickstart for writing on GitHub](/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github)

  Learn advanced formatting features by creating a README for your GitHub profile.

* [About writing and formatting on GitHub](/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github)

  GitHub combines a syntax for formatting text called GitHub Flavored Markdown with a few unique writing features.

* [Basic writing and formatting syntax](/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)

  Create sophisticated formatting for your prose and code on GitHub with simple syntax.

* [Organizing information with tables](/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables)

  You can build tables to organize information in comments, issues, pull requests, and wikis.

* [Organizing information with collapsed sections](/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections)

  You can streamline your Markdown by creating a collapsed section with the `<details>` tag.

* [Creating and highlighting code blocks](/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)

  Share samples of code with fenced code blocks and enabling syntax highlighting.

* [Creating diagrams](/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams)

  Create diagrams to convey information through charts and graphs

* [Writing mathematical expressions](/en/get-started/writing-on-github/working-with-advanced-formatting/writing-mathematical-expressions)

  Use Markdown to display mathematical expressions on GitHub.

* [Autolinked references and URLs](/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)

  References to URLs, issues, pull requests, and commits are automatically shortened and converted into links.

* [Attaching files](/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)

  You can convey information by attaching a variety of file types to your issues and pull requests.

* [About tasklists](/en/get-started/writing-on-github/working-with-advanced-formatting/about-tasklists)

  You can use tasklists to break the work for an issue or pull request into smaller tasks, then track the full set of work to completion.

* [Creating a permanent link to a code snippet](/en/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet)

  You can create a permanent link to a specific line or range of lines of code in a specific version of a file or pull request.

* [Using keywords in issues and pull requests](/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests)

  Use keywords to link an issue and pull request or to mark an issue or pull request as a duplicate.

* [About saved replies](/en/get-started/writing-on-github/working-with-saved-replies/about-saved-replies)

  You can use a saved reply to respond to an issue or pull request.

* [Creating a saved reply](/en/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply)

  If you frequently add the same comment over and over, you can create a saved reply.

* [Editing a saved reply](/en/get-started/writing-on-github/working-with-saved-replies/editing-a-saved-reply)

  You can edit the title and body of a saved reply.

* [Deleting a saved reply](/en/get-started/writing-on-github/working-with-saved-replies/deleting-a-saved-reply)

  If you find that you're no longer using a saved reply, you can delete it.

* [Using saved replies](/en/get-started/writing-on-github/working-with-saved-replies/using-saved-replies)

  When commenting on an issue or pull request, you can add a saved reply that you've already set up. The saved reply can be the entire comment or if you want to customize it, you can add or delete content.

* [Creating gists](/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists)

  You can create two kinds of gists: public and secret. Create a public gist if you're ready to share your ideas with the world or a secret gist if you're not.

* [Forking and cloning gists](/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists)

  Gists are actually Git repositories, which means that you can fork or clone any gist, even if you aren't the original author. You can also view a gist's full commit history, including diffs.

* [Saving gists with stars](/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/saving-gists-with-stars)

  You can star gists to keep track of projects you find interesting.

* [Moderating gist comments](/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/moderating-gist-comments)

  You can moderate comments on gists by turning them off or deleting unwanted entries.

* [Finding ways to contribute to open source on GitHub](/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)

  You can find ways to contribute to open source projects on GitHub that are relevant to you.

* [Contributing to open source](/en/get-started/exploring-projects-on-github/contributing-to-open-source)

  Learn how to make a contribution to an open source project that will be accepted by maintainers.

* [Using GitHub Copilot to explore projects](/en/get-started/exploring-projects-on-github/using-github-copilot-to-explore-projects)

  This guide will help you use Copilot to explore projects on GitHub.

* [Contributing to a project](/en/get-started/exploring-projects-on-github/contributing-to-a-project)

  Learn how to contribute to a project through forking.

* [Saving repositories with stars](/en/get-started/exploring-projects-on-github/saving-repositories-with-stars)

  You can star repositories and topics to keep track of projects you find interesting and discover related content in your news feed.

* [Following people](/en/get-started/exploring-projects-on-github/following-people)

  You can follow people on GitHub to receive notifications about their activity and discover projects in their communities.

* [Following organizations](/en/get-started/exploring-projects-on-github/following-organizations)

  You can follow organizations on GitHub to receive notifications about their activity.

* [Set up Git](/en/get-started/git-basics/set-up-git)

  At the heart of GitHub is an open-source version control system (VCS) called Git. Git is responsible for everything GitHub-related that happens locally on your computer.

* [Setting your username in Git](/en/get-started/git-basics/setting-your-username-in-git)

  Git uses a username to associate commits with an identity. The Git username is not the same as your GitHub username.

* [Caching your GitHub credentials in Git](/en/get-started/git-basics/caching-your-github-credentials-in-git)

  If you're cloning GitHub repositories using HTTPS, we recommend you use GitHub CLI or Git Credential Manager (GCM) to remember your credentials.

* [Why is Git always asking for my credentials?](/en/get-started/git-basics/why-is-git-always-asking-for-my-credentials)

  If Git prompts you for your credentials every time you try to interact with GitHub, you're probably using the HTTPS clone URL for your repository.

* [Updating credentials from the macOS Keychain](/en/get-started/git-basics/updating-credentials-from-the-macos-keychain)

  You'll need to update your saved credentials in the `git-credential-osxkeychain` helper if you change your username, password, or personal access token on GitHub.

* [Git workflows](/en/get-started/git-basics/git-workflows)

  GitHub flow is a lightweight, branch-based workflow that supports teams and projects that deploy regularly.

* [About remote repositories](/en/get-started/git-basics/about-remote-repositories)

  GitHub's collaborative approach to development depends on publishing commits from your local repository to GitHub for other people to view, fetch, and update.

* [Managing remote repositories](/en/get-started/git-basics/managing-remote-repositories)

  Learn to work with your local repositories on your computer and remote repositories hosted on GitHub.

* [Associating text editors with Git](/en/get-started/git-basics/associating-text-editors-with-git)

  Use a text editor to open and edit your files with Git.

* [Configuring Git to handle line endings](/en/get-started/git-basics/configuring-git-to-handle-line-endings)

  To avoid problems in your diffs, you can configure Git to properly handle line endings.

* [Ignoring files](/en/get-started/git-basics/ignoring-files)

  You can configure Git to ignore files you don't want to check in to GitHub.

* [Git cheatsheet](/en/get-started/git-basics/git-cheatsheet)

  This Git cheat sheet is a time saver when you forget a command or don't want to use help in the CLI.

* [About Git](/en/get-started/using-git/about-git)

  Learn about the version control system, Git, and how it works with GitHub.

* [Pushing commits to a remote repository](/en/get-started/using-git/pushing-commits-to-a-remote-repository)

  Use `git push` to push commits made on your local branch to a remote repository.

* [Getting changes from a remote repository](/en/get-started/using-git/getting-changes-from-a-remote-repository)

  You can use common Git commands to access remote repositories.

* [Dealing with non-fast-forward errors](/en/get-started/using-git/dealing-with-non-fast-forward-errors)

  Sometimes, Git can't make your change to a remote repository without losing commits. When this happens, your push is refused.

* [Splitting a subfolder out into a new repository](/en/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository)

  You can turn a folder within a Git repository into a brand new repository.

* [About Git subtree merges](/en/get-started/using-git/about-git-subtree-merges)

  If you need to manage multiple projects within a single repository, you can use a *subtree merge* to handle all the references.

* [About Git rebase](/en/get-started/using-git/about-git-rebase)

  The `git rebase` command allows you to easily change a series of commits, modifying the history of your repository. You can reorder, edit, or squash commits together.

* [Using Git rebase on the command line](/en/get-started/using-git/using-git-rebase-on-the-command-line)

  Here's a short tutorial on using `git rebase` on the command line.

* [Resolving merge conflicts after a Git rebase](/en/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase)

  When you perform a `git rebase` operation, you're typically moving commits around. Because of this, you might get into a situation where a merge conflict is introduced. That means that two of your commits modified the same line in the same file, and Git doesn't know which change to apply.

* [Dealing with special characters in branch and tag names](/en/get-started/using-git/dealing-with-special-characters-in-branch-and-tag-names)

  Git is very permissive about what characters are allowed in branch and tag names. When using Git from a command-line shell, you may need to escape or quote special characters.

* [Troubleshooting the 2 GiB push limit](/en/get-started/using-git/troubleshooting-the-2-gb-push-limit)

  Learn how to work around the 2 GiB push limit.

* [Requesting an archive of your personal account's data](/en/get-started/archiving-your-github-personal-account-and-public-repositories/requesting-an-archive-of-your-personal-accounts-data)

  You can export and review the metadata that GitHub stores about your personal account.

* [Opting into or out of the GitHub Archive Program for your public repository](/en/get-started/archiving-your-github-personal-account-and-public-repositories/opting-into-or-out-of-the-github-archive-program-for-your-public-repository)

  You can manage whether GitHub includes your public repository in the GitHub Archive Program to help ensure the long-term preservation of the world's open source software.

* [About versions of GitHub Docs](/en/get-started/using-github-docs/about-versions-of-github-docs)

  You can read documentation that reflects the GitHub product you're currently using.

* [Using hover cards on GitHub Docs](/en/get-started/using-github-docs/using-hover-cards-on-github-docs)

  Hover cards give you information about other articles on GitHub Docs.

* [About GitHub Certifications](/en/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications)

  Earn a GitHub Certification to showcase your expertise in GitHub technologies and workflows.

* [Registering for a GitHub Certifications exam](/en/get-started/showcase-your-expertise-with-github-certifications/registering-for-a-github-certifications-exam)

  When you're prepared and ready, you can register for the exam.