diff --git a/content/repositories/creating-and-managing-repositories/about-repositories.md b/content/repositories/creating-and-managing-repositories/about-repositories.md index d67ff1d08e..68c638f790 100644 --- a/content/repositories/creating-and-managing-repositories/about-repositories.md +++ b/content/repositories/creating-and-managing-repositories/about-repositories.md @@ -1,6 +1,6 @@ --- title: About repositories -intro: A repository contains all of your project's files and each file's revision history. You can discuss and manage your project's work within the repository. +intro: A repository contains all of your code, your files, and each file's revision history. You can discuss and manage your work within the repository. redirect_from: - /articles/about-repositories - /github/creating-cloning-and-archiving-repositories/about-repositories @@ -22,17 +22,35 @@ topics: ## About repositories +A repository is the most basic element of {% data variables.product.prodname_dotcom %}. It's a place where you can store your code, your files, and each file's revision history. Repositories can have multiple collaborators and can be either public{% ifversion ghes or ghec %}, internal,{% endif %} or private. + +To create a new repository, go to [https://github.com/new](https://github.com/new). For instructions, see "[AUTOTITLE](/get-started/quickstart/create-a-repo)." + +## Repository terminology + +Before getting started with repositories, learn these important terms. + +{% rowheaders %} + +Term | Definition | +---- | ---------- | +Branch | A parallel version of your code that is contained within the repository, but does not affect the primary or main branch. +Clone | To download a full copy of a repository's data from {% data variables.location.product_location %}, including all versions of every file and folder. +Fork | A new repository that shares code and visibility settings with the original "upstream" repository. +Merge | To take the changes from one branch and apply them to another. +Pull request | A request to merge changes from one branch into another. +Remote | A repository stored on {% data variables.product.product_name %}, not on your computer. +Upstream | The branch on an original repository that has been forked or cloned. The corresponding branch on the cloned or forked branch is called the "downstream." + +{% endrowheaders %} + +## About repository ownership + You can own repositories individually, or you can share ownership of repositories with other people in an organization. -You can restrict who has access to a repository by choosing the repository's visibility. For more information, see "[About repository visibility](#about-repository-visibility)." +In either case, access to repositories is managed by permissions. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository)" and "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)." -For user-owned repositories, you can give other people collaborator access so that they can collaborate on your project. If a repository is owned by an organization, you can give organization members access permissions to collaborate on your repository. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository)" and "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)." - -{% ifversion fpt or ghec %} -With {% data variables.product.prodname_free_team %} for personal accounts and organizations, you can work with unlimited collaborators on unlimited public repositories with a full feature set, or unlimited private repositories with a limited feature set. To get advanced tooling for private repositories, you can upgrade to {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, or {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info %} -{% else %} -Each person and organization can own unlimited repositories and invite an unlimited number of collaborators to all repositories. -{% endif %} +## About collaboration You can use repositories to manage your work and collaborate with others. - You can use issues to collect user feedback, report software bugs, and organize tasks you'd like to accomplish. For more information, see "[AUTOTITLE](/issues/tracking-your-work-with-issues/about-issues)."{% ifversion fpt or ghec %} @@ -40,9 +58,11 @@ You can use repositories to manage your work and collaborate with others. - You can use pull requests to propose changes to a repository. For more information, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." - You can use project boards to organize and prioritize your issues and pull requests. For more information, see "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." -{% data reusables.repositories.repo-size-limit %} - -To learn how to use repositories most effectively, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/best-practices-for-repositories)." +{% ifversion fpt or ghec %} +With {% data variables.product.prodname_free_team %} for personal accounts and organizations, you can work with unlimited collaborators on unlimited public repositories with a full feature set, or unlimited private repositories with a limited feature set. To get advanced tooling for private repositories, you can upgrade to {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, or {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info %} +{% else %} +Each person and organization can own unlimited repositories and invite an unlimited number of collaborators to all repositories. +{% endif %} ## About repository visibility @@ -112,37 +132,11 @@ All enterprise members have read permissions to the internal repository, but int {% endif %} {% endif %} -## Limits for viewing content and diffs in a repository +## Next steps -Certain types of resources can be quite large, requiring excessive processing on {% data variables.product.product_name %}. Because of this, limits are set to ensure requests complete in a reasonable amount of time. +Here are some helpful resources for taking your next steps with repositories. -Most of the limits below affect both {% data variables.product.product_name %} and the API. - -### Text limits - -{% data variables.product.prodname_dotcom %} displays formatted previews of some files, such as Markdown and Mermaid diagrams. {% data variables.product.prodname_dotcom %} always attempts to render these previews if the files are small (generally less than 2 MB), but more complex files may time out and either fall back to plain text or not be displayed at all. These files are always available in their raw formats, which are served through `{% data variables.product.raw_github_com %}`; for example, `https://{% data variables.product.raw_github_com %}/octocat/Spoon-Knife/master/index.html`. Click the **Raw** button to get the raw URL for a file. - -### Diff limits - -Because diffs can become very large, we impose these limits on diffs for commits, pull requests, and compare views: - -- In a pull request, no total diff may exceed _20,000 lines that you can load_ or _1 MB_ of raw diff data. -- No single file's diff may exceed _20,000 lines that you can load_ or _500 KB_ of raw diff data. _Four hundred lines_ and _20 KB_ are automatically loaded for a single file. -- The maximum number of files in a single diff is limited to _300_. -- The maximum number of renderable files (such as images, PDFs, and GeoJSON files) in a single diff is limited to _25_. - -Some portions of a limited diff may be displayed, but anything exceeding the limit is not shown. - -### Commit listings limits - -The compare view and pull requests pages display a list of commits between the `base` and `head` revisions. These lists are limited to **250** commits. If they exceed that limit, a note indicates that additional commits are present (but they're not shown). - -## Further reading - -- "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks)" -- "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests)" -- "[AUTOTITLE](/issues)" -- "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features)" -- "[AUTOTITLE](/repositories/viewing-activity-and-data-for-your-repository)" -- "[AUTOTITLE](/communities/documenting-your-project-with-wikis/about-wikis)" -- "[AUTOTITLE](/get-started/quickstart/github-glossary)" +- "[AUTOTITLE](/repositories/creating-and-managing-repositories/best-practices-for-repositories):" Learn how to use repositories most effectively. +- "[AUTOTITLE](/repositories/creating-and-managing-repositories/creating-a-new-repository):" Create a new repository. +- "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository):" Learn how to create and delete branches within your repository. +- "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request):" Create a pull request to propose and collaborate on changes to a repository. diff --git a/content/repositories/creating-and-managing-repositories/index.md b/content/repositories/creating-and-managing-repositories/index.md index 8e9a83834f..765c772c72 100644 --- a/content/repositories/creating-and-managing-repositories/index.md +++ b/content/repositories/creating-and-managing-repositories/index.md @@ -14,6 +14,7 @@ topics: children: - /about-repositories - /best-practices-for-repositories + - /repository-limits - /creating-a-new-repository - /creating-a-repository-from-a-template - /creating-a-template-repository @@ -27,4 +28,3 @@ children: - /restoring-a-deleted-repository shortTitle: Create & manage repositories --- - diff --git a/content/repositories/creating-and-managing-repositories/repository-limits.md b/content/repositories/creating-and-managing-repositories/repository-limits.md new file mode 100644 index 0000000000..7c229de9db --- /dev/null +++ b/content/repositories/creating-and-managing-repositories/repository-limits.md @@ -0,0 +1,34 @@ +--- +title: Repository limits +intro: 'Learn about limitations for repositories.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- + +Certain types of repository resources can be quite large, requiring excessive processing on {% data variables.product.product_name %}. Because of this, limits are set to ensure requests complete in a reasonable amount of time. + +Most of the limits below affect both {% data variables.product.product_name %} and the API. + +## Text limits + +{% data variables.product.prodname_dotcom %} displays formatted previews of some files, such as Markdown and Mermaid diagrams. {% data variables.product.prodname_dotcom %} always attempts to render these previews if the files are small (generally less than 2 MB), but more complex files may time out and either fall back to plain text or not be displayed at all. These files are always available in their raw formats, which are served through `{% data variables.product.raw_github_com %}`; for example, `https://{% data variables.product.raw_github_com %}/octocat/Spoon-Knife/master/index.html`. Click the **Raw** button to get the raw URL for a file. + +## Diff limits + +Because diffs can become very large, we impose these limits on diffs for commits, pull requests, and compare views: + +- In a pull request, no total diff may exceed _20,000 lines that you can load_ or _1 MB_ of raw diff data. +- No single file's diff may exceed _20,000 lines that you can load_ or _500 KB_ of raw diff data. _Four hundred lines_ and _20 KB_ are automatically loaded for a single file. +- The maximum number of files in a single diff is limited to _300_. +- The maximum number of renderable files (such as images, PDFs, and GeoJSON files) in a single diff is limited to _25_. + +Some portions of a limited diff may be displayed, but anything exceeding the limit is not shown. + +## Commit listings limits + +The compare view and pull requests pages display a list of commits between the `base` and `head` revisions. These lists are limited to **250** commits. If they exceed that limit, a note indicates that additional commits are present (but they're not shown).