is a cloud-based platform where you can store, share, and work together with others to write code.
Storing your code in a "repository" on allows you to:
- Showcase or share your work.
- Track and manage changes to your code over time.
- Let others review your code, and make suggestions to improve it.
- Collaborate on a shared project, without worrying that your changes will impact the work of your collaborators before you're ready to integrate them.
Collaborative working, one of ’s fundamental features, is made possible by the open-source software, Git, upon which is built.
Git is a version control system that intelligently tracks changes in files. Git is particularly useful when you and a group of people are all making changes to the same files at the same time.
Typically, to do this in a Git-based workflow, you would:
- Create a branch off from the main copy of files that you (and your collaborators) are working on.
- Make edits to the files independently and safely on your own personal branch.
- Let Git intelligently merge your specific changes back into the main copy of files, so that your changes don't impact other people's updates.
- Let Git keep track of your and other people's changes, so you all stay working on the most up-to-date version of the project.
To try using Git yourself, see Getting started with Git.
When you upload files to , you'll store them in a "Git repository." This means that when you make changes (or "commits") to your files in , Git will automatically start to track and manage your changes.
There are plenty of Git-related actions that you can complete on directly in your browser, such as creating a Git repository, creating branches, and uploading and editing files.
However, most people work on their files locally (on their own computer), then continually sync these local changes—and all the related Git data—with the central "remote" repository on . There are plenty of tools that you can use to do this, such as Desktop.
Once you start to collaborate with others and all need to work on the same repository at the same time, you’ll continually:
- Pull all the latest changes made by your collaborators from the remote repository on .
- Push back your own changes to the same remote repository on .
Git figures out how to intelligently merge this flow of changes, and helps you manage the flow through features such as "pull requests."
If you're new to , and unfamiliar with Git, we recommend working through the articles in the Start your journey category. The articles focus on tasks you can complete directly in your browser on and will help you to:
- Create an account on .
- Learn the " Flow", and the key principles of collaborative working (branches, commits, pull requests, merges).
- Personalise your profile to share your interests and skills.
- Explore to find inspiration for your own projects and connect with others.
- Learn how to download interesting code for your own use.
- Learn how to upload something you're working on to a repository.