{"meta":{"title":"Commits","intro":"Learn how commits save changes to your files, track authorship, and organize your project's history in GitHub.","product":"Pull requests","breadcrumbs":[{"href":"/en/pull-requests","title":"Pull requests"},{"href":"/en/pull-requests/reference","title":"Reference"},{"href":"/en/pull-requests/reference/commits","title":"Commits"}],"documentType":"article"},"body":"# Commits\n\nLearn how commits save changes to your files, track authorship, and organize your project's history in GitHub.\n\n## About commits\n\nSimilar to saving a file that's been edited, a commit records changes to one or more files in your branch. Git assigns each commit a unique ID, called a SHA or hash, that identifies:\n\n* The specific changes\n* When the changes were made\n* Who created the changes\n\nWhen you make a commit, you must include a commit message that briefly describes the changes.\n\nIf the repository you are committing to requires commit signoffs, and you are committing in the web interface, you will automatically sign off on the commit. See [Managing the commit signoff policy for your repository](/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository).\n\nYou can add a co-author on any commits you collaborate on. See [Creating a commit with multiple authors or on behalf of an organization](/en/pull-requests/how-tos/commit-changes/creating-a-commit-with-multiple-authors).\n\nYou can also create a commit on behalf of an organization. See [Creating a commit with multiple authors or on behalf of an organization](/en/pull-requests/how-tos/commit-changes/creating-a-commit-with-multiple-authors#creating-a-commit-on-behalf-of-an-organization).\n\nRebasing lets you change a series of commits and can change the order of the commits in your timeline. See [About Git rebase](/en/get-started/using-git/about-git-rebase).\n\n## About commit branches and tag labels\n\nCommit pages can show labels for branches and tags that contain the commit. These labels help you understand where a commit appears in the repository history.\n\n![Screenshot of a commit summary. A branch icon and \"main\" are highlighted with an orange outline.](/assets/images/help/commits/commit-branch-indicator.png)\n\nIf your commit is not on the default branch (`main`), the label will show the branches which contain the commit. If the commit is part of an unmerged pull request, you can click the link to go to the pull request.\n\nOnce the commit is on the default branch, any tags that contain the commit will be shown and the default branch will be the only branch listed. See [Git Basics - Tagging](https://git-scm.com/book/en/v2/Git-Basics-Tagging) in the Git documentation.\n\n![Screenshot of a commit summary. The tag icon and \"v2.3.4\" are highlighted with an orange outline.](/assets/images/help/commits/commit-tag-label.png)\n\n## Using the file tree\n\nThe file tree helps you navigate between files in a commit and focus on the diffs that matter. You can select a file to view its diff or filter by file path when a commit changes many files.\n\n> \\[!NOTE]\n> The file tree will not display if your screen width is too narrow or if the commit only includes one file.\n\n![Screenshot of the \"Files changed\" tab of a pull request. In the left sidebar, the file tree is outlined in dark orange.](/assets/images/help/repository/file-tree.png)\n\n## Further reading\n\n* [Committing and reviewing changes to your project in GitHub Desktop](/en/desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project-in-github-desktop#about-commits) on GitHub Desktop"}