{"meta":{"title":"What is GitHub?","intro":"GitHub is a platform that supports your entire software development process, from planning work to deploying and operating software.","product":"Get started","breadcrumbs":[{"href":"/en/get-started","title":"Get started"},{"href":"/en/get-started/start-your-journey","title":"Start your journey"},{"href":"/en/get-started/start-your-journey/what-is-github","title":"What is GitHub?"}],"documentType":"article"},"body":"# What is GitHub?\n\nGitHub is a platform that supports your entire software development process, from planning work to deploying and operating software.\n\nGitHub is a platform for building software. Whether you are starting a new project or contributing to an existing one, GitHub brings together the tools and workflows you need across every stage of the software development life cycle (SDLC).\n\n## GitHub and the software development life cycle\n\nThe software development life cycle describes the stages a software project moves through, from the first idea to running code in production. GitHub is designed to support every stage of that process.\n\n| Stage   | What you can do on GitHub                                                                       |\n| ------- | ----------------------------------------------------------------------------------------------- |\n| Plan    | Track your work, set milestones, and organize long-term projects.                               |\n| Create  | Write and store code, develop new features safely, and create a clear timeline of your changes. |\n| Review  | Suggest changes to your project, discuss your updates with reviewers, and apply feedback.       |\n| Test    | Automate checks to validate every change before it merges.                                      |\n| Deploy  | Ship software with automated deployment workflows and release management.                       |\n| Operate | Monitor applications, manage dependencies, and find and fix security issues.                    |\n\nYou do not need to use every stage at once. Many people start with a repository and a few issues, then expand their use of the platform as their project grows.\n\n## GitHub and Git\n\nGitHub is based on the open-source software, Git.\n\nGit is a version control system that tracks changes to files. It lets you work on your own copy of a project, record a history of your changes, and merge your work with other people's changes safely.\n\nGitHub builds on Git by hosting your Git projects, called **repositories**, in the cloud, as well as adding planning and collaboration tools that make it easier for teams to work together.\n\nFor more information about Git, see [About Git](/en/get-started/using-git/about-git).\n\n## Is GitHub right for me?\n\nGitHub is used by students, developers, project managers, security teams, data scientists, researchers, human resources and legal staff, and many others across organizations of all sizes.\n\nSome of the most common reasons people use GitHub are:\n\n* Store and manage code with version control.\n* Write code, review code, manage security vulnerabilities and updates.\n* Collaborate and socialize on projects.\n* Contribute to open source software.\n* Track and manage projects.\n* Automate software development workflows like CI/CD, testing, and deployments.\n* Showcase and share work.\n* Publish and release software packages.\n* Host documentation and websites.\n* Participate in software development communities and discussions.\n* Use AI-powered tools and agents to help write, understand, review, and automate code development faster.\n\n## Where do I start?\n\nIf you're new to GitHub and unfamiliar with Git, we recommend working through the articles in the [Start your journey](/en/get-started/start-your-journey) category. The articles show you how to perform common tasks software developers do using GitHub, such as:\n\n* **Create a repository for your software project** and store the code on GitHub, see [Creating a repository for your project on GitHub](/en/get-started/start-your-journey/creating-a-repository-for-your-project-on-github).\n* **Plan your work** by creating issues and tracking your project work.\n* **Connect to your code on your local machine** and use the GitHub Desktop application to manage code changes with Git.\n* **Write and store your code**, optionally pair with an AI assistant, and sync your changes with GitHub.\n* **Review your proposed code changes** by creating pull requests and reviewing your own changes before you merge.\n* **Deploy your website** using automated deployment workflows, allowing you to publish a basic website for your software project."}