Merge branch 'main' into fatenhealy-fix-supportedlanguage
This commit is contained in:
@@ -4,6 +4,13 @@ The day after a GHES version's [deprecation date](https://github.com/github/docs
|
||||
|
||||
**Note**: Do each step below in a separate PR. Only move on to the next step when the previous PR has been merged.
|
||||
|
||||
## Step 0: Remove deprecated version numbers from docs-content issue forms
|
||||
|
||||
**Note**: This step can be performed independently of all other steps, and can be done several days before or along with the other steps.
|
||||
|
||||
- [ ] In the `docs-content` repo, remove the deprecated GHES version number from the "Specific GHES version(s)" section in the following files (in the `.github/ISSUE_TEMPLATE/` directory): [`release-tier-1-or-2-tracking.yml`](https://github.com/github/docs-content/blob/main/.github/ISSUE_TEMPLATE/release-tier-1-or-2-tracking.yml) and [`release-tier-3-or-tier-4.yml`](https://github.com/github/docs-content/blob/main/.github/ISSUE_TEMPLATE/release-tier-3-or-tier-4.yml).
|
||||
- [ ] When the PR is approved, merge it in. This can be merged independently from all other steps.
|
||||
|
||||
## Step 1: Scrape the docs and archive the files
|
||||
|
||||
- [ ] In your checkout of the [repo with archived GHES content](https://github.com/github/help-docs-archived-enterprise-versions), create a new branch: `git checkout -b deprecate-<version>`
|
||||
@@ -58,3 +65,4 @@ In your `docs-internal` checkout:
|
||||
- [ ] Open a PR with the results. The diff may be large and complex, so make sure to get a review from `@github/docs-content`.
|
||||
- [ ] Debug any test failures or unexpected results.
|
||||
- [ ] When the PR is approved, merge it in to complete the deprecation. This can be merged independently from step 5.
|
||||
|
||||
|
||||
@@ -107,3 +107,4 @@ This file should be automatically updated, but you can also run `script/update-e
|
||||
- [ ] The `github/docs-internal` repo is frozen, and the `Repo Freeze Check / Prevent merging during deployment freezes (pull_request_target)` test is expected to fail. Use admin permissions to ship the release branch with this failure.
|
||||
- [ ] Do any required smoke tests.
|
||||
- [ ] Once smoke tests have passed, you can [unfreeze the repos](https://github.com/github/docs-content/blob/main/docs-content-docs/docs-content-workflows/freezing.md) and post an announcement in Slack.
|
||||
- [ ] After the release, in the `docs-content` repo, add the now live version number to the "Specific GHES version(s)" section in the following files: [`.github/ISSUE_TEMPLATE/release-tier-1-or-2-tracking.yml`](https://github.com/github/docs-content/blob/main/.github/ISSUE_TEMPLATE/release-tier-1-or-2-tracking.yml) and [`.github/ISSUE_TEMPLATE/release-tier-3-or-tier-4.yml`](https://github.com/github/docs-content/blob/main/.github/ISSUE_TEMPLATE/release-tier-3-or-tier-4.yml). When the PR is approved, merge it in.
|
||||
4
.github/actions-scripts/projects.js
vendored
4
.github/actions-scripts/projects.js
vendored
@@ -161,8 +161,10 @@ export function generateUpdateProjectNextItemFieldMutation({
|
||||
function generateMutationToUpdateField({ item, fieldID, value, literal = false }) {
|
||||
const parsedValue = literal ? `value: "${value}"` : `value: ${value}`
|
||||
|
||||
// Strip "=" out of the item ID when creating the mutation ID to avoid a GraphQL parsing error
|
||||
// (statistically, this should still give us a unique mutation ID)
|
||||
return `
|
||||
set_${fieldID.substr(1)}_item_${item}: updateProjectNextItemField(input: {
|
||||
set_${fieldID.substr(1)}_item_${item.replaceAll('=', '')}: updateProjectNextItemField(input: {
|
||||
projectId: $project
|
||||
itemId: "${item}"
|
||||
fieldId: ${fieldID}
|
||||
|
||||
38
.github/workflows/remove-stale-staging-apps.yml
vendored
38
.github/workflows/remove-stale-staging-apps.yml
vendored
@@ -1,38 +0,0 @@
|
||||
name: Remove stale staging apps
|
||||
|
||||
# **What it does**:
|
||||
# This cleans up any rogue staging applications that outlasted the closure of
|
||||
# their corresponding pull requests.
|
||||
# **Why we have it**:
|
||||
# Staging applications sometimes fail to be destroyed when their corresponding
|
||||
# pull request is closed or merged.
|
||||
# **Who does it impact**:
|
||||
# Anyone with a closed, spammy, or deleted pull request in docs or docs-internal.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '15,45 * * * *' # every thirty minutes at :15 and :45
|
||||
|
||||
jobs:
|
||||
remove_stale_staging_apps:
|
||||
name: Remove stale staging apps
|
||||
if: ${{ github.repository == 'github/docs-internal' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo's default branch
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@38d90ce44d5275ad62cc48384b3d8a58c500bb5f
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run script
|
||||
run: script/remove-stale-staging-apps.js
|
||||
env:
|
||||
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
64
.github/workflows/remove-stale-staging-resources.yml
vendored
Normal file
64
.github/workflows/remove-stale-staging-resources.yml
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
name: Remove stale staging resources
|
||||
|
||||
# **What it does**:
|
||||
# This cleans up any rogue staging applications and environments that outlasted
|
||||
# the closure of their corresponding pull requests.
|
||||
# **Why we have it**:
|
||||
# Staging applications and environments sometimes fail to be destroyed when
|
||||
# their corresponding pull request is closed or merged.
|
||||
# **Who does it impact**:
|
||||
# Anyone with a closed, spammy, or deleted pull request in docs or docs-internal.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '15,45 * * * *' # every thirty minutes at :15 and :45
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
|
||||
jobs:
|
||||
remove_stale_staging_apps:
|
||||
name: Remove stale staging apps
|
||||
if: ${{ github.repository == 'github/docs-internal' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo's default branch
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@38d90ce44d5275ad62cc48384b3d8a58c500bb5f
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run script
|
||||
run: script/remove-stale-staging-apps.js
|
||||
env:
|
||||
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
remove_stale_staging_envs:
|
||||
name: Remove stale staging environments
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo's default branch
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@38d90ce44d5275ad62cc48384b3d8a58c500bb5f
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run script
|
||||
run: script/remove-stale-staging-envs.js
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.DOCS_BOT }}
|
||||
REPO: ${{ github.repository }}
|
||||
12
.github/workflows/staging-build-pr-docker.yml
vendored
12
.github/workflows/staging-build-pr-docker.yml
vendored
@@ -12,6 +12,9 @@ on:
|
||||
- synchronize
|
||||
- unlocked
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
if: ${{ github.repository == 'github/docs-internal' || github.repository == 'github/docs' }}
|
||||
@@ -81,12 +84,3 @@ jobs:
|
||||
with:
|
||||
name: pr_build_docker
|
||||
path: app.tar
|
||||
|
||||
- name: Send Slack notification if workflow fails
|
||||
uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
channel: ${{ secrets.DOCS_STAGING_DEPLOYMENT_FAILURES_SLACK_CHANNEL_ID }}
|
||||
bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
|
||||
color: failure
|
||||
text: Staging build (docker) failed for PR ${{ github.event.pull_request.html_url }} at commit ${{ github.sha }}. See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
12
.github/workflows/staging-build-pr.yml
vendored
12
.github/workflows/staging-build-pr.yml
vendored
@@ -12,6 +12,9 @@ on:
|
||||
- synchronize
|
||||
- unlocked
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
if: ${{ github.repository == 'github/docs-internal' || github.repository == 'github/docs' }}
|
||||
@@ -77,12 +80,3 @@ jobs:
|
||||
with:
|
||||
name: pr_build
|
||||
path: app.tar
|
||||
|
||||
- name: Send Slack notification if workflow fails
|
||||
uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
channel: ${{ secrets.DOCS_STAGING_DEPLOYMENT_FAILURES_SLACK_CHANNEL_ID }}
|
||||
bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
|
||||
color: failure
|
||||
text: Staging build failed for PR ${{ github.event.pull_request.html_url }} at commit ${{ github.sha }}. See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
65
.github/workflows/staging-deploy-pr-docker.yml
vendored
65
.github/workflows/staging-deploy-pr-docker.yml
vendored
@@ -11,6 +11,13 @@ on:
|
||||
types:
|
||||
- completed
|
||||
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
deployments: write
|
||||
pull-requests: read
|
||||
statuses: write
|
||||
|
||||
env:
|
||||
# In this specific workflow relationship, the `github.event.workflow_run.pull_requests`
|
||||
# array will always contain only 1 item! Specifically, it will contain the PR associated
|
||||
@@ -19,9 +26,7 @@ env:
|
||||
PR_URL: ${{ github.event.workflow_run.repository.html_url }}/pull/${{ github.event.workflow_run.pull_requests[0].number }}
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
env:
|
||||
HEROKU_API_KEY: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
check-pr-before-prepare:
|
||||
if: >-
|
||||
${{
|
||||
github.event.workflow_run.conclusion == 'success' &&
|
||||
@@ -29,6 +34,32 @@ jobs:
|
||||
startsWith(github.event.workflow_run.head_branch, 'docker-')
|
||||
}}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 1
|
||||
concurrency:
|
||||
group: staging_docker_${{ github.event.workflow_run.head_branch }}
|
||||
cancel-in-progress: true
|
||||
outputs:
|
||||
pull_request_state: ${{ steps.check-pr.outputs.state }}
|
||||
steps:
|
||||
- name: Check pull request state
|
||||
id: check-pr
|
||||
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
|
||||
with:
|
||||
script: |
|
||||
const { owner, repo } = context.repo
|
||||
const { data: pullRequest } = await octokit.pulls.get({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: pullNumber
|
||||
})
|
||||
core.setOutput('state', pullRequest.state)
|
||||
|
||||
prepare:
|
||||
needs: check-pr-before-prepare
|
||||
if: ${{ needs.check-pr-before-prepare.outputs.pull_request_state == 'open' }}
|
||||
env:
|
||||
HEROKU_API_KEY: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
concurrency:
|
||||
group: staging_docker_${{ github.event.workflow_run.head_branch }}
|
||||
@@ -95,6 +126,8 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
HYDRO_ENDPOINT: ${{ secrets.HYDRO_ENDPOINT }}
|
||||
HYDRO_SECRET: ${{ secrets.HYDRO_SECRET }
|
||||
with:
|
||||
script: |
|
||||
const esm = require('esm')
|
||||
@@ -160,9 +193,33 @@ jobs:
|
||||
color: failure
|
||||
text: Staging preparation (docker) failed for PR ${{ env.PR_URL }} at commit ${{ github.sha }}. See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
deploy:
|
||||
check-pr-before-deploy:
|
||||
needs: prepare
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 1
|
||||
concurrency:
|
||||
group: staging_docker_${{ github.event.workflow_run.head_branch }}
|
||||
cancel-in-progress: true
|
||||
outputs:
|
||||
pull_request_state: ${{ steps.check-pr.outputs.state }}
|
||||
steps:
|
||||
- name: Check pull request state
|
||||
id: check-pr
|
||||
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
|
||||
with:
|
||||
script: |
|
||||
const { owner, repo } = context.repo
|
||||
const { data: pullRequest } = await octokit.pulls.get({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: ${{ github.event.workflow_run.pull_requests[0].number }}
|
||||
})
|
||||
core.setOutput('state', pullRequest.state)
|
||||
|
||||
deploy:
|
||||
needs: [prepare, check-pr-before-deploy]
|
||||
if: ${{ needs.check-pr-before-deploy.outputs.pull_request_state == 'open' }}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
concurrency:
|
||||
group: staging_docker_${{ github.event.workflow_run.head_branch }}
|
||||
|
||||
59
.github/workflows/staging-deploy-pr.yml
vendored
59
.github/workflows/staging-deploy-pr.yml
vendored
@@ -11,6 +11,13 @@ on:
|
||||
types:
|
||||
- completed
|
||||
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
deployments: write
|
||||
pull-requests: read
|
||||
statuses: write
|
||||
|
||||
env:
|
||||
EARLY_ACCESS_SCRIPT_PATH: script/early-access/clone-for-build.js
|
||||
EARLY_ACCESS_SUPPORT_FILES: script/package.json
|
||||
@@ -23,13 +30,37 @@ env:
|
||||
ACTIONS_RUN_LOG: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
check-pr-before-prepare:
|
||||
if: >-
|
||||
${{
|
||||
github.event.workflow_run.conclusion == 'success' &&
|
||||
(github.repository == 'github/docs-internal' || github.repository == 'github/docs')
|
||||
}}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 1
|
||||
concurrency:
|
||||
group: staging_${{ github.event.workflow_run.head_branch }}
|
||||
cancel-in-progress: true
|
||||
outputs:
|
||||
pull_request_state: ${{ steps.check-pr.outputs.state }}
|
||||
steps:
|
||||
- name: Check pull request state
|
||||
id: check-pr
|
||||
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
|
||||
with:
|
||||
script: |
|
||||
const { owner, repo } = context.repo
|
||||
const { data: pullRequest } = await octokit.pulls.get({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: ${{ github.event.workflow_run.pull_requests[0].number }}
|
||||
})
|
||||
core.setOutput('state', pullRequest.state)
|
||||
|
||||
prepare:
|
||||
needs: check-pr-before-prepare
|
||||
if: ${{ needs.check-pr-before-prepare.outputs.pull_request_state == 'open' }}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
concurrency:
|
||||
group: staging_${{ github.event.workflow_run.head_branch }}
|
||||
@@ -174,9 +205,33 @@ jobs:
|
||||
color: failure
|
||||
text: Staging preparation failed for PR ${{ env.PR_URL }} at commit ${{ github.event.workflow_run.head_sha }}. See ${{ env.ACTIONS_RUN_LOG }}
|
||||
|
||||
deploy:
|
||||
check-pr-before-deploy:
|
||||
needs: prepare
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 1
|
||||
concurrency:
|
||||
group: staging_${{ github.event.workflow_run.head_branch }}
|
||||
cancel-in-progress: true
|
||||
outputs:
|
||||
pull_request_state: ${{ steps.check-pr.outputs.state }}
|
||||
steps:
|
||||
- name: Check pull request state
|
||||
id: check-pr
|
||||
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
|
||||
with:
|
||||
script: |
|
||||
const { owner, repo } = context.repo
|
||||
const { data: pullRequest } = await octokit.pulls.get({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: ${{ github.event.workflow_run.pull_requests[0].number }}
|
||||
})
|
||||
core.setOutput('state', pullRequest.state)
|
||||
|
||||
deploy:
|
||||
needs: [prepare, check-pr-before-deploy]
|
||||
if: ${{ needs.check-pr-before-deploy.outputs.pull_request_state == 'open' }}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
concurrency:
|
||||
group: staging_${{ github.event.workflow_run.head_branch }}
|
||||
|
||||
4
.github/workflows/staging-undeploy-pr.yml
vendored
4
.github/workflows/staging-undeploy-pr.yml
vendored
@@ -10,6 +10,10 @@ on:
|
||||
- closed
|
||||
- locked
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
deployments: write
|
||||
|
||||
jobs:
|
||||
undeploy:
|
||||
if: ${{ github.repository == 'github/docs-internal' || github.repository == 'github/docs' }}
|
||||
|
||||
@@ -33,7 +33,7 @@ export const useTocLandingContext = (): TocLandingContextT => {
|
||||
export const getTocLandingContextFromRequest = (req: any): TocLandingContextT => {
|
||||
const isEarlyAccess = req.context.page?.documentType === 'early-access'
|
||||
return {
|
||||
title: req.context.page.title,
|
||||
title: req.context.page.titlePlainText,
|
||||
productCallout: req.context.page.product || '',
|
||||
introPlainText: req.context.page.introPlainText,
|
||||
tocItems: (req.context.genericTocFlat || req.context.genericTocNested || []).map((obj: any) =>
|
||||
|
||||
@@ -48,7 +48,7 @@ The repository owner has full control of the repository. In addition to the acti
|
||||
| Dismiss {% data variables.product.prodname_dependabot_alerts %} in the repository | "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)" |
|
||||
| Manage data use for a private repository | "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)"|{% endif %}
|
||||
| Define code owners for the repository | "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)" |
|
||||
| Archive the repository | "[About archiving repositories](/github/creating-cloning-and-archiving-repositories/about-archiving-repositories)" |{% ifversion fpt %}
|
||||
| Archive the repository | "[Archiving repositories](/repositories/archiving-a-github-repository/archiving-repositories)" |{% ifversion fpt %}
|
||||
| Create security advisories | "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)" |
|
||||
| Display a sponsor button | "[Displaying a sponsor button in your repository](/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository)" |{% endif %}{% ifversion fpt or ghae or ghes > 3.0 %}
|
||||
| Allow or disallow auto-merge for pull requests | "[Managing auto-merge for pull requests in your repository](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository)" | {% endif %}
|
||||
|
||||
@@ -22,9 +22,9 @@ Workflow runs often reuse the same outputs or downloaded dependencies from one r
|
||||
|
||||
Jobs on {% data variables.product.prodname_dotcom %}-hosted runners start in a clean virtual environment and must download dependencies each time, causing increased network utilization, longer runtime, and increased cost. To help speed up the time it takes to recreate these files, {% data variables.product.prodname_dotcom %} can cache dependencies you frequently use in workflows.
|
||||
|
||||
To cache dependencies for a job, you'll need to use {% data variables.product.prodname_dotcom %}'s `cache` action. The action retrieves a cache identified by a unique key. For more information, see [`actions/cache`](https://github.com/actions/cache).
|
||||
To cache dependencies for a job, you'll need to use {% data variables.product.prodname_dotcom %}'s `cache` action. The action retrieves a cache identified by a unique key. For more information, see [`actions/cache`](https://github.com/actions/cache).
|
||||
|
||||
If you are caching Ruby gems, instead consider using the Ruby maintained action, which can cache bundle installs on initiation. For more information, see [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby#caching-bundle-install-automatically).
|
||||
If you are caching Ruby gems, instead consider using the Ruby maintained action, which can cache bundle installs on initiation. For more information, see [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby#caching-bundle-install-automatically).
|
||||
|
||||
To cache and restore dependencies for npm, Yarn, or pnpm, you can use the [`actions/setup-node` action](https://github.com/actions/setup-node).
|
||||
|
||||
@@ -49,7 +49,9 @@ With `v2` of the `cache` action, you can access the cache in workflows triggered
|
||||
|
||||
A workflow can access and restore a cache created in the current branch, the base branch (including base branches of forked repositories), or the default branch (usually `main`). For example, a cache created on the default branch would be accessible from any pull request. Also, if the branch `feature-b` has the base branch `feature-a`, a workflow triggered on `feature-b` would have access to caches created in the default branch (`main`), `feature-a`, and `feature-b`.
|
||||
|
||||
Access restrictions provide cache isolation and security by creating a logical boundary between different workflows and branches. For example, a cache created for the branch `feature-a` (with the base `main`) would not be accessible to a pull request for the branch `feature-b` (with the base `main`).
|
||||
Access restrictions provide cache isolation and security by creating a logical boundary between different branches. For example, a cache created for the branch `feature-a` (with the base `main`) would not be accessible to a pull request for the branch `feature-b` (with the base `main`).
|
||||
|
||||
Multiple workflows within a repository share cache entries. A cache created for a branch within a workflow can be accessed and restored from another workflow for the same repository and branch.
|
||||
|
||||
## Using the `cache` action
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ shortTitle: Approve public fork runs
|
||||
|
||||
## About workflow runs from public forks
|
||||
|
||||
{% data reusables.actions.workflow-run-approve-public-fork %} However, you can configure this behavior for a [repository](/github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository#configuring-required-approval-for-workflows-from-public-forks), [organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#configuring-required-approval-for-workflows-from-public-forks), or [enterprise](/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account#configuring-required-approval-for-workflows-from-public-forks).
|
||||
{% data reusables.actions.workflow-run-approve-public-fork %} However, you can configure this behavior for a [repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks), [organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#configuring-required-approval-for-workflows-from-public-forks), or [enterprise](/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account#configuring-required-approval-for-workflows-from-public-forks).
|
||||
|
||||
Workflow runs that have been awaiting approval for more than 30 days are automatically deleted.
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ shortTitle: Download workflow artifacts
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% ifversion fpt or ghes > 2.22 or ghae %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %}
|
||||
{% ifversion fpt or ghes > 2.22 or ghae %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %}
|
||||
{% ifversion ghes = 2.22 %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %}
|
||||
|
||||
{% data reusables.repositories.permissions-statement-read %}
|
||||
|
||||
@@ -97,7 +97,7 @@ jobs:
|
||||
For information about the API endpoints {% data variables.product.prodname_github_apps %} can access with each permission, see "[{% data variables.product.prodname_github_app %} Permissions](/rest/reference/permissions-required-for-github-apps)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next %}
|
||||
The following table shows the permissions granted to the `GITHUB_TOKEN` by default. People with admin permissions to an {% ifversion not ghes %}enterprise, organization, or repository,{% else %}organization or repository{% endif %} can set the default permissions to be either permissive or restricted. For information on how to set the default permissions for the `GITHUB_TOKEN` for your {% ifversion not ghes %}enterprise, organization, or repository,{% else %}organization or repository,{% endif %} see {% ifversion not ghes %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account#setting-the-permissions-of-the-github_token-for-your-enterprise)," {% endif %}"[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)," or "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#setting-the-permissions-of-the-github_token-for-a-repository)."
|
||||
The following table shows the permissions granted to the `GITHUB_TOKEN` by default. People with admin permissions to an {% ifversion not ghes %}enterprise, organization, or repository,{% else %}organization or repository{% endif %} can set the default permissions to be either permissive or restricted. For information on how to set the default permissions for the `GITHUB_TOKEN` for your {% ifversion not ghes %}enterprise, organization, or repository,{% else %}organization or repository,{% endif %} see {% ifversion not ghes %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account#setting-the-permissions-of-the-github_token-for-your-enterprise)," {% endif %}"[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)," or "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)."
|
||||
|
||||
| Scope | Default access<br>(permissive) | Default access<br>(restricted) | Maximum access<br>by forked repos |
|
||||
|---------------|-----------------------------|-----------------------------|--------------------------------|
|
||||
|
||||
@@ -69,9 +69,9 @@ You can configure the artifact and log retention period for your repository, org
|
||||
|
||||
For more information, see:
|
||||
|
||||
- [Configuring the retention period for {% data variables.product.prodname_actions %} for artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)
|
||||
- [Configuring the retention period for {% data variables.product.prodname_actions %} for artifacts and logs in your organization](/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization)
|
||||
- [Configuring the retention period for {% data variables.product.prodname_actions %} for artifacts and logs in your enterprise](/github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account)
|
||||
- "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)"
|
||||
- "[Configuring the retention period for {% data variables.product.prodname_actions %} for artifacts and logs in your organization](/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization)"
|
||||
- "[Configuring the retention period for {% data variables.product.prodname_actions %} for artifacts and logs in your enterprise](/github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account)"
|
||||
{% endif %}
|
||||
|
||||
## Disabling or limiting {% data variables.product.prodname_actions %} for your repository or organization
|
||||
@@ -79,7 +79,7 @@ For more information, see:
|
||||
{% data reusables.github-actions.disabling-github-actions %}
|
||||
|
||||
For more information, see:
|
||||
- "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository)"
|
||||
- "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)"
|
||||
- "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)"{% ifversion fpt %}
|
||||
- "[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)" for {% data variables.product.prodname_ghe_cloud %}{% endif %}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ shortTitle: Enforce repository policies
|
||||
---
|
||||
## Configuring the default visibility of new repositories in your enterprise
|
||||
|
||||
Each time someone creates a new repository on your enterprise, that person must choose a visibility for the repository. When you configure a default visibility setting for the enterprise, you choose which visibility is selected by default. For more information on repository visibility, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)."
|
||||
Each time someone creates a new repository on your enterprise, that person must choose a visibility for the repository. When you configure a default visibility setting for the enterprise, you choose which visibility is selected by default. For more information on repository visibility, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)."
|
||||
|
||||
If an enterprise owner disallows members from creating certain types of repositories, members will not be able to create that type of repository even if the visibility setting defaults to that type. For more information, see "[Setting a policy for repository creation](#setting-a-policy-for-repository-creation)."
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ The `$GITHUB_VIA` variable is available in the pre-receive hook environment when
|
||||
| Value | Action | More information |
|
||||
| :- | :- | :- |
|
||||
| <pre>auto-merge deployment api</pre> | Automatic merge of the base branch via a deployment created with the API | "[Repositories](/rest/reference/repos#create-a-deployment)" in the REST API documentation |
|
||||
| <pre>blob#save</pre> | Change to a file's contents in the web interface | "[Editing files in your repository](/github/managing-files-in-a-repository/editing-files-in-your-repository)" |
|
||||
| <pre>blob#save</pre> | Change to a file's contents in the web interface | "[Editing files](/repositories/working-with-files/managing-files/editing-files)" |
|
||||
| <pre>branch merge api</pre> | Merge of a branch via the API | "[Repositories](/rest/reference/repos#merge-a-branch)" in the REST API documentation |
|
||||
| <pre>branches page delete button</pre> | Deletion of a branch in the web interface | "[Creating and deleting branches within your repository](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository#deleting-a-branch)" |
|
||||
| <pre>git refs create api</pre> | Creation of a ref via the API | "[Git database](/rest/reference/git#create-a-reference)" in the REST API documentation |
|
||||
|
||||
@@ -18,7 +18,7 @@ shortTitle: Internal repository migration
|
||||
---
|
||||
## About internal repositories
|
||||
|
||||
Internal repositories are available in {% data variables.product.prodname_ghe_server %} 2.20+. {% data reusables.repositories.about-internal-repos %} For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)."
|
||||
Internal repositories are available in {% data variables.product.prodname_ghe_server %} 2.20+. {% data reusables.repositories.about-internal-repos %} For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)."
|
||||
|
||||
In future releases of {% data variables.product.prodname_ghe_server %}, we will adjust how repository visibility works so that the terms public, internal, and private have a uniform meaning for developers on {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}.
|
||||
|
||||
|
||||
@@ -60,3 +60,7 @@ Enterprise owners and billing managers can manage the spending limit for {% data
|
||||

|
||||
{% data reusables.dotcom_billing.monthly-spending-limit %}
|
||||
{% data reusables.dotcom_billing.update-spending-limit %}
|
||||
|
||||
|
||||
## Managing usage and spending limit email notifications
|
||||
{% data reusables.billing.email-notifications %}
|
||||
|
||||
@@ -45,3 +45,6 @@ Enterprise owners and billing managers can manage the spending limit for {% data
|
||||

|
||||
{% data reusables.dotcom_billing.monthly-spending-limit %}
|
||||
{% data reusables.dotcom_billing.update-spending-limit %}
|
||||
|
||||
## Managing usage and spending limit email notifications
|
||||
{% data reusables.billing.email-notifications %}
|
||||
|
||||
@@ -60,3 +60,6 @@ Enterprise owners and billing managers can manage the spending limit for {% data
|
||||

|
||||
{% data reusables.dotcom_billing.monthly-spending-limit %}
|
||||
{% data reusables.dotcom_billing.update-spending-limit %}
|
||||
|
||||
## Managing usage and spending limit email notifications
|
||||
{% data reusables.billing.email-notifications %}
|
||||
|
||||
@@ -77,7 +77,7 @@ If you scan on push, then the results appear in the **Security** tab for your re
|
||||
|
||||
### Scanning pull requests
|
||||
|
||||
The default {% data variables.product.prodname_codeql_workflow %} uses the `pull_request` event to trigger a code scan on pull requests targeted against the default branch. {% ifversion ghes %}The `pull_request` event is not triggered if the pull request was opened from a private fork.{% else %}If a pull request is from a private fork, the `pull_request` event will only be triggered if you've selected the "Run workflows from fork pull requests" option in the repository settings. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#enabling-workflows-for-private-repository-forks)."{% endif %}
|
||||
The default {% data variables.product.prodname_codeql_workflow %} uses the `pull_request` event to trigger a code scan on pull requests targeted against the default branch. {% ifversion ghes %}The `pull_request` event is not triggered if the pull request was opened from a private fork.{% else %}If a pull request is from a private fork, the `pull_request` event will only be triggered if you've selected the "Run workflows from fork pull requests" option in the repository settings. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)."{% endif %}
|
||||
|
||||
For more information about the `pull_request` event, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags)."
|
||||
|
||||
|
||||
@@ -57,7 +57,8 @@ You decide how to generate {% data variables.product.prodname_code_scanning %} a
|
||||
In the default {% data variables.product.prodname_codeql_workflow %}, {% data variables.product.prodname_code_scanning %} is configured to analyze your code each time you either push a change to the default branch or any protected branches, or raise a pull request against the default branch. As a result, {% data variables.product.prodname_code_scanning %} will now commence.
|
||||
|
||||
## Bulk set up of {% data variables.product.prodname_code_scanning %}
|
||||
You can set up {% data variables.product.prodname_code_scanning %} in many repositories at once using a script. For an example of a script that raises pull requests to add a {% data variables.product.prodname_actions %} workflow to multiple repositories, see the [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) repository.
|
||||
|
||||
You can set up {% data variables.product.prodname_code_scanning %} in many repositories at once using a script. If you'd like to use a script to raise pull requests that add a {% data variables.product.prodname_actions %} workflow to multiple repositories, see the [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) repository for an example using Powershell, or [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement) for teams who do not have Powershell and instead would like to use NodeJS.
|
||||
|
||||
## Understanding the pull request checks
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ Anyone with write permissions to a security advisory can add changes to a tempor
|
||||
4. In the "Security Advisories" list, click the security advisory you'd like to add changes to.
|
||||

|
||||
5. Add your changes on {% data variables.product.product_name %} or locally:
|
||||
- To add changes on {% data variables.product.product_name %}, under "Add changes to this advisory", click **the temporary private fork**. Then, create a new branch and edit files. For more information, see "[Creating and deleting branches within your repository](/articles/creating-and-deleting-branches-within-your-repository)" and "[Editing files in your repository](/articles/editing-files-in-your-repository)."
|
||||
- To add changes on {% data variables.product.product_name %}, under "Add changes to this advisory", click **the temporary private fork**. Then, create a new branch and edit files. For more information, see "[Creating and deleting branches within your repository](/articles/creating-and-deleting-branches-within-your-repository)" and "[Editing files](/repositories/working-with-files/managing-files/editing-files)."
|
||||
- To add changes locally, follow the instructions under "Clone and create a new branch" and "Make your changes, then push."
|
||||

|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ You can check the current service status on the [Status Dashboard](https://www.g
|
||||
|
||||
## Option 3: Clone the repository locally or edit in the browser
|
||||
|
||||
While {% data variables.product.prodname_codespaces %} provides the benefit of a pre-configured developer environmnent, your source code should always be accessible through the repository hosted on {% data variables.product.prodname_dotcom_the_website %}. In the event of a {% data variables.product.prodname_codespaces %} outage, you can still clone the repository locally or edit files in the {% data variables.product.company_short %} browser editor. For more information, see [Editing files in your repository](/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-your-repository).
|
||||
While {% data variables.product.prodname_codespaces %} provides the benefit of a pre-configured developer environmnent, your source code should always be accessible through the repository hosted on {% data variables.product.prodname_dotcom_the_website %}. In the event of a {% data variables.product.prodname_codespaces %} outage, you can still clone the repository locally or edit files in the {% data variables.product.company_short %} browser editor. For more information, see "[Editing files](/repositories/working-with-files/managing-files/editing-files)."
|
||||
|
||||
While this option does not configure a development environment for you, it will allow you to make changes to your source code as needed while you wait for the service disruption to resolve.
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ You can create default contribution guidelines for your organization{% ifversion
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.files.add-file %}
|
||||
3. Decide whether to store your contributing guidelines in your repository's root, `docs`, or `.github` directory. Then, in the filename field, type the name and extension for the file. Contributing guidelines filenames are not case sensitive. Files are rendered in rich text format if the file extension is in a supported format. For more information, see "[Rendering differences in prose documents](/github/managing-files-in-a-repository/rendering-differences-in-prose-documents)."
|
||||
3. Decide whether to store your contributing guidelines in your repository's root, `docs`, or `.github` directory. Then, in the filename field, type the name and extension for the file. Contributing guidelines filenames are not case sensitive. Files are rendered in rich text format if the file extension is in a supported format. For more information, see "[Working with non-code files](/repositories/working-with-files/using-files/working-with-non-code-files#rendering-differences-in-prose-documents)."
|
||||

|
||||
- To make your contributing guidelines visible in the repository's root directory, type *CONTRIBUTING*.
|
||||
- To make your contributing guidelines visible in the repository's `docs` directory, type *docs/* to create the new directory, then *CONTRIBUTING*.
|
||||
|
||||
@@ -72,7 +72,7 @@ require 'openssl'
|
||||
require 'jwt' # https://rubygems.org/gems/jwt
|
||||
|
||||
# Private key contents
|
||||
private_pem = File.read(YOUR_PATH_TO_PEM)
|
||||
private_pem = File.read("YOUR_PATH_TO_PEM")
|
||||
private_key = OpenSSL::PKey::RSA.new(private_pem)
|
||||
|
||||
# Generate the JWT
|
||||
@@ -82,14 +82,14 @@ payload = {
|
||||
# JWT expiration time (10 minute maximum)
|
||||
exp: Time.now.to_i + (10 * 60),
|
||||
# {% data variables.product.prodname_github_app %}'s identifier
|
||||
iss: YOUR_APP_ID
|
||||
iss: "YOUR_APP_ID"
|
||||
}
|
||||
|
||||
jwt = JWT.encode(payload, private_key, "RS256")
|
||||
puts jwt
|
||||
```
|
||||
|
||||
`YOUR_PATH_TO_PEM` and `YOUR_APP_ID` are the values you must replace.
|
||||
`YOUR_PATH_TO_PEM` and `YOUR_APP_ID` are the values you must replace. Make sure to enclose the values in double quotes.
|
||||
|
||||
Use your {% data variables.product.prodname_github_app %}'s identifier (`YOUR_APP_ID`) as the value for the JWT [iss](https://tools.ietf.org/html/rfc7519#section-4.1.1) (issuer) claim. You can obtain the {% data variables.product.prodname_github_app %} identifier via the initial webhook ping after [creating the app](/apps/building-github-apps/creating-a-github-app/), or at any time from the app settings page in the GitHub.com UI.
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ GITHUB-PUBLIC-KEY-IDENTIFIER: 90a421169f0a406205f1563a953312f0be898d3c7b6c06b681
|
||||
GITHUB-PUBLIC-KEY-SIGNATURE: MEQCIA6C6L8ZYvZnqgV0zwrrmRab10QmIFV396gsba/WYm9oAiAI6Q+/jNaWqkgG5YhaWshTXbRwIgqIK6Ru7LxVYDbV5Q==
|
||||
Content-Length: 0123
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
The message body is a JSON array that contains one or more objects with the following contents. When multiple matches are found, {% data variables.product.prodname_dotcom %} may send a single message with more than one secret match. Your endpoint should be able to handle requests with a large number of matches without timing out.
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ You can see the teams that are working on or have submitted an assignment in the
|
||||
|
||||
## Next steps
|
||||
|
||||
- After you create the assignment and your students form teams, team members can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and the team can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/getting-started-with-github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)," and the free course on [managing merge conflicts](https://lab.github.com/githubtraining/managing-merge-conflicts) from {% data variables.product.prodname_learning %}.
|
||||
- After you create the assignment and your students form teams, team members can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and the team can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Repositories](/repositories)," "[Using Git](/github/getting-started-with-github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)," and the free course on [managing merge conflicts](https://lab.github.com/githubtraining/managing-merge-conflicts) from {% data variables.product.prodname_learning %}.
|
||||
|
||||
- When a team finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand how the team collaborated. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)."
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ You can see whether a student has joined the classroom and accepted or submitted
|
||||
|
||||
## Next steps
|
||||
|
||||
- Once you create the assignment, students can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and student can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/getting-started-with-github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)."
|
||||
- Once you create the assignment, students can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and student can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Repositories](/repositories)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)."
|
||||
|
||||
- When a student finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand the student's work. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)."
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ If you don't need to work with files locally, {% data variables.product.product_
|
||||
|
||||
- [Creating a repository](/articles/create-a-repo)
|
||||
- [Forking a repository](/articles/fork-a-repo)
|
||||
- [Managing files](/articles/managing-files-on-github/)
|
||||
- [Managing files](/repositories/working-with-files/managing-files)
|
||||
- [Being social](/articles/be-social)
|
||||
|
||||
## Setting up Git
|
||||
|
||||
@@ -92,7 +92,7 @@ For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirr
|
||||
| Keyboard shortcut | Description
|
||||
|-----------|------------
|
||||
|<kbd>c</kbd> | Create an issue
|
||||
| <kbd>control /</kbd> or <kbd>command /</kbd> | Focus your cursor on the issues or pull requests search bar. For more information, see "[Using search to filter issues and pull requests](/articles/using-search-to-filter-issues-and-pull-requests)."||
|
||||
| <kbd>control /</kbd> or <kbd>command /</kbd> | Focus your cursor on the issues or pull requests search bar. For more information, see "[Filtering and searching issues and pull requests](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests)."||
|
||||
|<kbd>u</kbd> | Filter by author
|
||||
|<kbd>l</kbd> | Filter by or edit labels. For more information, see "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)."
|
||||
| <kbd>alt</kbd> and click | While filtering by labels, exclude labels. For more information, see "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)."
|
||||
|
||||
@@ -29,7 +29,7 @@ If you're unable to verify with the captcha:
|
||||
|
||||
## Switching cloning methods
|
||||
|
||||
Switching from cloning via SSH to cloning via HTTPS, or vice versa may improve connectivity. For more information, see "[Cloning a repository from {% data variables.product.prodname_dotcom %}](/articles/cloning-a-repository-from-github)."
|
||||
Switching from cloning via SSH to cloning via HTTPS, or vice versa may improve connectivity. For more information, see "[Troubleshooting cloning errors](/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors)."
|
||||
|
||||
If you're encountering timeouts with SSH, see "[Error: Bad file number](/articles/error-bad-file-number)."
|
||||
|
||||
|
||||
@@ -27,10 +27,14 @@ You can find extensions by browsing [repositories with the `gh-extension` topic]
|
||||
|
||||
## Installing extensions
|
||||
|
||||
To install an extension, use the `extensions install` subcommand. Replace the `owner/repo` parameter with the name of the extension, such as `octocat/gh-whoami`.{% ifversion ghes %} If the extension is on {% data variables.product.prodname_ghe_server %}, also include the hostname, such as `https://ghe.io/octocat/gh-whoami`.{% endif %}
|
||||
To install an extension, use the `extensions install` subcommand. Replace the `repo` parameter with the repository of the extension. You can use the full URL, such as `https://github.com/octocat/gh-whoami`, or just the owner and repository, such as `octocat/gh-whoami`.
|
||||
|
||||
If the owner and repository are used, `gh` will install the extension using the hostname to which `gh` is currently authenticated. The full URL format is useful when installing extensions from a different host. For example, users on {% data variables.product.prodname_ghe_server %} should use the full repository URL to install extensions from {% data variables.product.prodname_dotcom_the_website %} or any other host.
|
||||
|
||||
To install an extension in development from the current directory, use `.` as the value for the `repo` parameter.
|
||||
|
||||
```shell
|
||||
gh extension install <em>owner/repo</em>
|
||||
gh extension install <em>repo</em>
|
||||
```
|
||||
|
||||
If you already have an extension by the same name installed, the command will fail. For example, if you have installed `octocat/gh-whoami`, you must uninstall it before installing `hubot/gh-whoami`.
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
title: Filtering issues and pull requests by assignees
|
||||
intro: 'Once you''ve [assigned an issue or pull request to someone](/articles/assigning-issues-and-pull-requests-to-other-github-users), you can find items based on who''s working on them.'
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-assignees
|
||||
- /articles/filtering-issues-and-pull-requests-by-assignees
|
||||
- /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-assignees
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
shortTitle: Filter by assignee
|
||||
---
|
||||
{% data reusables.cli.filter-issues-and-pull-requests-tip %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-issue-pr %}
|
||||
3. In the upper-right corner, select the Assignee drop-down menu.
|
||||
4. The Assignee drop-down menu lists everyone who has write access to your repository. Click the name of the person whose assigned items you want to see, or click **Assigned to nobody** to see which issues are unassigned.
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
To clear your filter selection, click **Clear current search query, filters, and sorts**.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Filtering issues and pull requests](/articles/filtering-issues-and-pull-requests)"
|
||||
- "[Sorting issues and pull requests](/articles/sorting-issues-and-pull-requests)"
|
||||
- "[Using search to filter issues and pull requests](/articles/using-search-to-filter-issues-and-pull-requests)"
|
||||
- "[Sharing filters](/articles/sharing-filters)"
|
||||
- "[Viewing all of your issues and pull requests](/articles/viewing-all-of-your-issues-and-pull-requests)"
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
title: Filtering issues and pull requests by labels
|
||||
intro: 'Once you''ve [applied labels to an issue or pull request](/articles/applying-labels-to-issues-and-pull-requests), you can find items based on their labels.'
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-labels
|
||||
- /articles/filtering-issues-and-pull-requests-by-labels
|
||||
- /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-labels
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
shortTitle: Filter by labels
|
||||
---
|
||||
{% data reusables.cli.filter-issues-and-pull-requests-tip %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-issue-pr %}
|
||||
{% data reusables.project-management.labels %}
|
||||
4. In the list of labels, click a label to see the issues and pull requests that it's been applied to.
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** To clear your filter selection, click **Clear current search query, filters, and sorts**.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Filtering issues and pull requests](/articles/filtering-issues-and-pull-requests)"
|
||||
- "[Sorting issues and pull requests](/articles/sorting-issues-and-pull-requests)"
|
||||
- "[Using search to filter issues and pull requests](/articles/using-search-to-filter-issues-and-pull-requests)"
|
||||
- "[Sharing filters](/articles/sharing-filters)"
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
title: Filtering issues and pull requests
|
||||
intro: Issues and pull requests come with a set of default filters you can apply to organize your listings.
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-issues-and-pull-requests
|
||||
- /articles/filtering-issues-and-pull-requests
|
||||
- /github/managing-your-work-on-github/filtering-issues-and-pull-requests
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
shortTitle: Filter issues & PRs
|
||||
---
|
||||
{% data reusables.search.requested_reviews_search %}
|
||||
|
||||
You can filter issues and pull requests to find:
|
||||
- All open issues and pull requests
|
||||
- Issues and pull requests that you've created
|
||||
- Issues and pull requests that are assigned to you
|
||||
- Issues and pull requests where you're [**@mentioned**](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)
|
||||
|
||||
{% data reusables.cli.filter-issues-and-pull-requests-tip %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-issue-pr %}
|
||||
3. Click **Filters** to choose the type of filter you're interested in.
|
||||

|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Filtering issues and pull requests by assignees](/articles/filtering-issues-and-pull-requests-by-assignees)"
|
||||
- "[Filtering issues and pull requests by milestones](/articles/filtering-issues-and-pull-requests-by-milestone)"
|
||||
- "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)"
|
||||
- "[Filtering pull requests by review status](/articles/filtering-pull-requests-by-review-status)"
|
||||
- "[Using search to filter issues and pull requests](/articles/using-search-to-filter-issues-and-pull-requests)"
|
||||
- "[Sharing filters](/articles/sharing-filters)"
|
||||
- "[Viewing all of your issues and pull requests](/articles/viewing-all-of-your-issues-and-pull-requests)"
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
title: Filtering pull requests by review status
|
||||
intro: You can use filters to list pull requests by review status and to find pull requests that you've reviewed or other people have asked you to review.
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-pull-requests-by-review-status
|
||||
- /articles/filtering-pull-requests-by-review-status
|
||||
- /github/managing-your-work-on-github/filtering-pull-requests-by-review-status
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
shortTitle: Filter by review status
|
||||
---
|
||||
You can filter a repository's list of pull requests to find:
|
||||
- Pull requests that haven't been [reviewed](/articles/about-pull-request-reviews) yet
|
||||
- Pull requests that [require a review](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging) before they can be merged
|
||||
- Pull requests that a reviewer has approved
|
||||
- Pull requests in which a reviewer has asked for changes
|
||||
- Pull requests that you have reviewed
|
||||
- Pull requests that [someone has asked you, or a team you're a member of, to review](/articles/requesting-a-pull-request-review)
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-pr %}
|
||||
3. In the upper-right corner, select the Reviews drop-down menu.
|
||||

|
||||
4. Choose a filter to find all of the pull requests with that filter's status.
|
||||

|
||||
|
||||
## Further reading
|
||||
|
||||
- "[About pull request reviews](/articles/about-pull-request-reviews)"
|
||||
- "[Using search to filter issues and pull requests](/articles/using-search-to-filter-issues-and-pull-requests)"
|
||||
- "[Viewing all of your issues and pull requests](/articles/viewing-all-of-your-issues-and-pull-requests)"
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
title: Finding information in a repository
|
||||
intro: 'To find detailed information about a repository on GitHub, you can filter, sort, and search issues and pull requests that are relevant to the repository.'
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/
|
||||
- /articles/finding-information-in-a-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
children:
|
||||
- /filtering-issues-and-pull-requests
|
||||
- /filtering-issues-and-pull-requests-by-assignees
|
||||
- /filtering-issues-and-pull-requests-by-labels
|
||||
- /filtering-pull-requests-by-review-status
|
||||
- /sorting-issues-and-pull-requests
|
||||
- /using-search-to-filter-issues-and-pull-requests
|
||||
- /sharing-filters
|
||||
shortTitle: Find information in a repo
|
||||
---
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
title: Sharing filters
|
||||
intro: 'When you filter or sort issues and pull requests, your browser''s URL is automatically updated to match the new view.'
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/sharing-filters
|
||||
- /articles/sharing-filters
|
||||
- /github/managing-your-work-on-github/sharing-filters
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
---
|
||||
You can send the URL that issues generates to any user, and they'll be able to see the same filter view that you see.
|
||||
|
||||
For example, if you filter on issues assigned to Hubot, and sort on the oldest open issues, your URL would update to something like the following:
|
||||
|
||||
```
|
||||
/issues?q=state:open+type:issue+assignee:hubot+sort:created-asc
|
||||
```
|
||||
|
||||
## Further reading
|
||||
|
||||
* "[Filtering issues and pull requests](/articles/filtering-issues-and-pull-requests)"
|
||||
* "[Sorting issues and pull requests](/articles/sorting-issues-and-pull-requests)"
|
||||
* "[Using search to filter issues and pull requests](/articles/using-search-to-filter-issues-and-pull-requests)"
|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
title: Sorting issues and pull requests
|
||||
intro: Filters can be sorted to provide better information during a specific time period.
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/sorting-issues-and-pull-requests
|
||||
- /articles/sorting-issues-and-pull-requests
|
||||
- /github/managing-your-work-on-github/sorting-issues-and-pull-requests
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
shortTitle: Sort issues & PRs
|
||||
---
|
||||
You can sort any filtered view by:
|
||||
|
||||
* The newest created issues or pull requests
|
||||
* The oldest created issues or pull requests
|
||||
* The most commented issues or pull requests
|
||||
* The least commented issues or pull requests
|
||||
* The newest updated issues or pull requests
|
||||
* The oldest updated issues or pull requests
|
||||
* The most added reaction on issues or pull requests
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-issue-pr %}
|
||||
1. In the upper-right corner, select the Sort drop-down menu.
|
||||

|
||||
|
||||
To clear your sort selection, click **Sort** > **Newest**.
|
||||
|
||||
## Further reading
|
||||
|
||||
* "[Filtering issues and pull requests](/articles/filtering-issues-and-pull-requests)"
|
||||
* "[Using search to filter issues and pull requests](/articles/using-search-to-filter-issues-and-pull-requests)"
|
||||
* "[Sharing filters](/articles/sharing-filters)"
|
||||
@@ -1,105 +0,0 @@
|
||||
---
|
||||
title: Using search to filter issues and pull requests
|
||||
intro: You can use advanced filters to search for issues and pull requests that meet specific criteria.
|
||||
redirect_from:
|
||||
- /github/managing-your-work-on-github/finding-information-in-a-repository/using-search-to-filter-issues-and-pull-requests
|
||||
- /articles/using-search-to-filter-issues-and-pull-requests
|
||||
- /github/managing-your-work-on-github/using-search-to-filter-issues-and-pull-requests
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Pull requests
|
||||
shortTitle: Use search to filter
|
||||
---
|
||||
|
||||
## Searching for issues and pull requests
|
||||
|
||||
{% include tool-switcher %}
|
||||
|
||||
{% webui %}
|
||||
|
||||
The issues and pull requests search bar allows you to define your own custom filters and sort by a wide variety of criteria. You can find the search bar on each repository's **Issues** and **Pull requests** tabs and on your [Issues and Pull requests dashboards](/articles/viewing-all-of-your-issues-and-pull-requests).
|
||||
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** {% data reusables.search.search_issues_and_pull_requests_shortcut %}
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% endwebui %}
|
||||
|
||||
{% cli %}
|
||||
|
||||
{% data reusables.cli.cli-learn-more %}
|
||||
|
||||
You can use the {% data variables.product.prodname_cli %} to search for issues or pull requests. Use the `gh issue list` or `gh pr list` subcommand along with the `--search` argument and a search query.
|
||||
|
||||
For example, you can list, in order of date created, all issues that have no assignee and that have the label `help wanted` or `bug`.
|
||||
|
||||
```shell
|
||||
gh issue list --search 'no:assignee label:"help wanted",bug sort:created-asc'
|
||||
```
|
||||
|
||||
You can also list all pull requests that mention the `octo-org/octo-team` team.
|
||||
|
||||
```shell
|
||||
gh pr list --search "team:octo-org/octo-team"
|
||||
```
|
||||
|
||||
{% endcli %}
|
||||
|
||||
## About search terms
|
||||
|
||||
With issue and pull request search terms, you can:
|
||||
|
||||
- Filter issues and pull requests by author: `state:open type:issue author:octocat`
|
||||
- Filter issues and pull requests that involve, but don't necessarily [**@mention**](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams), certain people: `state:open type:issue involves:octocat`
|
||||
- Filter issues and pull requests by assignee: `state:open type:issue assignee:octocat`
|
||||
- Filter issues and pull requests by label: `state:open type:issue label:"bug"`
|
||||
- Filter out search terms by using `-` before the term: `state:open type:issue -author:octocat`
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-next %}
|
||||
{% tip %}
|
||||
|
||||
**Tip:** You can filter issues and pull requests by label using logical OR or using logical AND.
|
||||
- To filter issues using logical OR, use the comma syntax: `label:"bug","wip"`.
|
||||
- To filter issues using logical AND, use separate label filters: `label:"bug" label:"wip"`.
|
||||
|
||||
{% endtip %}
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghae %}
|
||||
For issues, you can also use search to:
|
||||
|
||||
- Filter for issues that are linked to a pull request by a closing reference: `linked:pr`
|
||||
{% endif %}
|
||||
|
||||
For pull requests, you can also use search to:
|
||||
- Filter [draft](/articles/about-pull-requests#draft-pull-requests) pull requests: `is:draft`
|
||||
- Filter pull requests that haven't been [reviewed](/articles/about-pull-request-reviews) yet: `state:open type:pr review:none`
|
||||
- Filter pull requests that [require a review](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging) before they can be merged: `state:open type:pr review:required`
|
||||
- Filter pull requests that a reviewer has approved: `state:open type:pr review:approved`
|
||||
- Filter pull requests in which a reviewer has asked for changes: `state:open type:pr review:changes_requested`
|
||||
- Filter pull requests by [reviewer](/articles/about-pull-request-reviews/): `state:open type:pr reviewed-by:octocat`
|
||||
- Filter pull requests by the specific user [requested for review](/articles/requesting-a-pull-request-review): `state:open type:pr review-requested:octocat`
|
||||
- Filter pull requests by the team requested for review: `state:open type:pr team-review-requested:github/atom`{% ifversion fpt or ghes or ghae %}
|
||||
- Filter for pull requests that are linked to an issue that the pull request may close: `linked:issue`{% endif %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** {% data reusables.pull_requests.large-search-workaround %} You can limit your search with the `org:`, `user:`, or `repo:` qualifiers. For more information, see "[Searching issues and pull requests](/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-within-a-users-or-organizations-repositories)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Searching issues and pull requests](/articles/searching-issues)"
|
||||
- "[Filtering issues and pull requests](/articles/filtering-issues-and-pull-requests)"
|
||||
- "[Sorting issues and pull requests](/articles/sorting-issues-and-pull-requests)"
|
||||
- "[Sharing filters](/articles/sharing-filters)"
|
||||
@@ -1,20 +0,0 @@
|
||||
---
|
||||
title: Administering a repository
|
||||
redirect_from:
|
||||
- /categories/administering-a-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /managing-repository-settings
|
||||
- /managing-branches-in-your-repository
|
||||
- /configuring-pull-request-merges
|
||||
- /defining-the-mergeability-of-pull-requests
|
||||
- /releasing-projects-on-github
|
||||
- /finding-information-in-a-repository
|
||||
shortTitle: Administer a repo
|
||||
---
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
title: Configuring the retention period for GitHub Actions artifacts and logs in your repository
|
||||
intro: 'You can configure the retention period for {% data variables.product.prodname_actions %} artifacts and logs in your repository.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '>=3.0'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
redirect_from:
|
||||
- /github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository
|
||||
shortTitle: Set log retention for Actions
|
||||
---
|
||||
{% data reusables.actions.about-artifact-log-retention %}
|
||||
|
||||
You can also define a custom retention period for a specific artifact created by a workflow. For more information, see "[Setting the retention period for an artifact](/actions/managing-workflow-runs/removing-workflow-artifacts#setting-the-retention-period-for-an-artifact)."
|
||||
|
||||
## Setting the retention period for a repository
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.settings-sidebar-actions %}
|
||||
{% data reusables.github-actions.change-retention-period-for-artifacts-logs %}
|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
title: Managing repository settings
|
||||
intro: 'Repository administrators and organization owners can change settings for a repository, like the name, ownership, and visibility, or delete the repository.'
|
||||
redirect_from:
|
||||
- /articles/managing-repository-settings
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /setting-repository-visibility
|
||||
- /managing-teams-and-people-with-access-to-your-repository
|
||||
- /classifying-your-repository-with-topics
|
||||
- /customizing-how-changed-files-appear-on-github
|
||||
- /about-email-notifications-for-pushes-to-your-repository
|
||||
- /displaying-a-sponsor-button-in-your-repository
|
||||
- /customizing-your-repositorys-social-media-preview
|
||||
- /viewing-deployment-activity-for-your-repository
|
||||
- /managing-the-forking-policy-for-your-repository
|
||||
- /configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository
|
||||
- /disabling-or-limiting-github-actions-for-a-repository
|
||||
- /enabling-or-disabling-github-discussions-for-a-repository
|
||||
- /disabling-project-boards-in-a-repository
|
||||
- /disabling-issues
|
||||
- /managing-git-lfs-objects-in-archives-of-your-repository
|
||||
- /managing-security-and-analysis-settings-for-your-repository
|
||||
- /enabling-anonymous-git-read-access-for-a-repository
|
||||
- /configuring-autolinks-to-reference-external-resources
|
||||
- /renaming-a-repository
|
||||
- /transferring-a-repository
|
||||
- /deleting-a-repository
|
||||
- /restoring-a-deleted-repository
|
||||
shortTitle: Manage repository settings
|
||||
---
|
||||
|
||||
@@ -102,19 +102,17 @@ After adding a new SSH key to your {% data variables.product.product_name %} acc
|
||||
If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace.
|
||||
|
||||
```shell
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install xclip
|
||||
# Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)
|
||||
|
||||
$ xclip -selection clipboard < ~/.ssh/id_ed25519.pub
|
||||
# Copies the contents of the id_ed25519.pub file to your clipboard
|
||||
$ cat ~/.ssh/id_ed25519.pub
|
||||
# Then select and copy the contents of the id_ed25519.pub file
|
||||
# displayed in the terminal to your clipboard
|
||||
```
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** If `xclip` isn't working, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard.
|
||||
**Tip:** Alternatively, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.ssh %}
|
||||
4. Click **New SSH key** or **Add SSH key**.
|
||||
|
||||
@@ -139,7 +139,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav
|
||||
```
|
||||
{% note %}
|
||||
|
||||
**Note:** The `-K` option is Apple's standard version of `ssh-add`, which stores the passphrase in your keychain for you when you add an ssh key to the ssh-agent. If you chose not to add a passphrase to your key, run the command without the `-K` option.
|
||||
**Note:** The `-K` option is Apple's standard version of `ssh-add`, which stores the passphrase in your keychain for you when you add an SSH key to the ssh-agent. If you chose not to add a passphrase to your key, run the command without the `-K` option.
|
||||
|
||||
If you don't have Apple's standard version installed, you may receive an error. For more information on resolving this error, see "[Error: ssh-add: illegal option -- K](/articles/error-ssh-add-illegal-option-k)."
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ shortTitle: Remove sensitive data
|
||||
---
|
||||
The `git filter-repo` tool and the BFG Repo-Cleaner rewrite your repository's history, which changes the SHAs for existing commits that you alter and any dependent commits. Changed commit SHAs may affect open pull requests in your repository. We recommend merging or closing all open pull requests before removing files from your repository.
|
||||
|
||||
You can remove the file from the latest commit with `git rm`. For information on removing a file that was added with the latest commit, see "[Removing files from a repository's history](/articles/removing-files-from-a-repository-s-history)."
|
||||
You can remove the file from the latest commit with `git rm`. For information on removing a file that was added with the latest commit, see "[About large files on {% data variables.product.prodname_dotcom %}](/repositories/working-with-files/managing-large-files/about-large-files-on-github#removing-files-from-a-repositorys-history)."
|
||||
|
||||
{% warning %}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ If you want to simulate a two-dot diff in a pull request and see a comparison be
|
||||
For more information about Git commands to compare changes, see "[Git diff options](https://git-scm.com/docs/git-diff#git-diff-emgitdiffemltoptionsgtltcommitgtltcommitgt--ltpathgt82308203)" from the _Pro Git_ book site.
|
||||
|
||||
## Reasons diffs will not display
|
||||
- You've exceeded the total limit of files or certain file types. For more information, see "[Limits for viewing content and diffs in a repository](/articles/limits-for-viewing-content-and-diffs-in-a-repository/#diff-limits)."
|
||||
- You've exceeded the total limit of files or certain file types. For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#limits-for-viewing-content-and-diffs-in-a-repository)."
|
||||
- Your file matches a rule in the repository's *.gitattributes* file to block that file from displaying by default. For more information, see "[Customizing how changed files appear on GitHub](/articles/customizing-how-changed-files-appear-on-github)."
|
||||
|
||||
## Further reading
|
||||
|
||||
@@ -32,7 +32,7 @@ Once you've created a pull request, you can push commits from your topic branch
|
||||
Other contributors can review your proposed changes, add review comments, contribute to the pull request discussion, and even add commits to the pull request.
|
||||
|
||||
{% ifversion fpt %}
|
||||
You can see information about the branch's current deployment status and past deployment activity on the "Conversation" tab. For more information, see "[Viewing deployment activity for a repository](/articles/viewing-deployment-activity-for-your-repository)."
|
||||
You can see information about the branch's current deployment status and past deployment activity on the "Conversation" tab. For more information, see "[Viewing deployment activity for a repository](/repositories/viewing-activity-and-data-for-your-repository/viewing-deployment-activity-for-your-repository)."
|
||||
{% endif %}
|
||||
|
||||
After you're happy with the proposed changes, you can merge the pull request. If you're working in a shared repository model, you create a pull request and you, or someone else, will merge your changes from your feature branch into the base branch you specify in your pull request. For more information, see "[Merging a pull request](/articles/merging-a-pull-request)."
|
||||
@@ -71,7 +71,4 @@ The compare and pull request pages use different methods to calculate the diff f
|
||||
- "[Pull request](/articles/github-glossary/#pull-request)" in the {% data variables.product.prodname_dotcom %} glossary
|
||||
- "[About branches](/articles/about-branches)"
|
||||
- "[Commenting on a pull request](/articles/commenting-on-a-pull-request)"
|
||||
- "[Merging a pull request](/articles/merging-a-pull-request)"
|
||||
- "[Closing a pull request](/articles/closing-a-pull-request)"
|
||||
- "[Deleting unused branches](/articles/deleting-unused-branches)"
|
||||
- "[About pull request merges](/articles/about-pull-request-merges)"
|
||||
- "[Closing a pull request](/articles/closing-a-pull-request)"
|
||||
@@ -68,6 +68,5 @@ The new commit, message, and badge will appear on {% data variables.product.prod
|
||||
|
||||
- "[Viewing contributions on your profile](/articles/viewing-contributions-on-your-profile)"
|
||||
- "[Why are my contributions not showing up on my profile?](/articles/why-are-my-contributions-not-showing-up-on-my-profile)"
|
||||
- "[Viewing a summary of repository activity](/articles/viewing-a-summary-of-repository-activity)"
|
||||
- "[Viewing a project’s contributors](/articles/viewing-a-projects-contributors)"
|
||||
- "[Changing a commit message](/articles/changing-a-commit-message)"
|
||||
|
||||
@@ -83,7 +83,6 @@ The new commit and message will appear on {% data variables.product.product_loca
|
||||
{% ifversion ghes or ghae %}
|
||||
- "[Viewing contributions on your profile](/articles/viewing-contributions-on-your-profile)"
|
||||
- "[Why are my contributions not showing up on my profile?](/articles/why-are-my-contributions-not-showing-up-on-my-profile)"{% endif %}
|
||||
- "[Viewing a summary of repository activity](/articles/viewing-a-summary-of-repository-activity)"
|
||||
- "[Viewing a project's contributors](/articles/viewing-a-projects-contributors)"
|
||||
- "[Changing a commit message](/articles/changing-a-commit-message)"
|
||||
- "[Committing and reviewing changes to your project](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project#4-write-a-commit-message-and-push-your-changes)" in the {% data variables.product.prodname_desktop %} documentation
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
title: Archiving repositories
|
||||
intro: You can archive a repository to make it read-only for all users and indicate that it's no longer actively maintained. You can also unarchive repositories that have been archived.
|
||||
redirect_from:
|
||||
- /articles/archiving-repositories
|
||||
- /github/creating-cloning-and-archiving-repositories/archiving-repositories
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
---
|
||||
{% data reusables.repositories.archiving-repositories-recommendation %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
3. Under "Danger Zone", click **Archive this repository** or **Unarchive this repository**.
|
||||

|
||||
4. Read the warnings.
|
||||
5. Type the name of the repository you want to archive or unarchive.
|
||||

|
||||
6. Click **I understand the consequences, archive this repository**.
|
||||
|
||||
## Further reading
|
||||
- "[About archiving repositories](/articles/about-archiving-repositories)"
|
||||
@@ -1,49 +0,0 @@
|
||||
---
|
||||
title: 'Error: Remote HEAD refers to nonexistent ref, unable to checkout'
|
||||
intro: 'This error occurs if the default branch of a repository has been deleted on {% data variables.product.product_location %}.'
|
||||
redirect_from:
|
||||
- /articles/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout
|
||||
- /github/creating-cloning-and-archiving-repositories/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Unable to checkout
|
||||
---
|
||||
Detecting this error is simple; Git will warn you when you try to clone the repository:
|
||||
|
||||
```shell
|
||||
$ git clone https://{% data variables.command_line.codeblock %}/<em>user</em>/<em>repo</em>.git
|
||||
# Clone a repo
|
||||
> Cloning into 'repo'...
|
||||
> remote: Counting objects: 66179, done.
|
||||
> remote: Compressing objects: 100% (15587/15587), done.
|
||||
> remote: Total 66179 (delta 46985), reused 65596 (delta 46402)
|
||||
> Receiving objects: 100% (66179/66179), 51.66 MiB | 667 KiB/s, done.
|
||||
> Resolving deltas: 100% (46985/46985), done.
|
||||
> warning: remote HEAD refers to nonexistent ref, unable to checkout.
|
||||
```
|
||||
|
||||
To fix the error, you'll need to be an administrator of the repository on {% data variables.product.product_location %}.
|
||||
You'll want to [change the default branch](/github/administering-a-repository/changing-the-default-branch) of the repository.
|
||||
|
||||
After that, you can get a list of all the available branches from the command line:
|
||||
|
||||
```shell
|
||||
$ git branch -a
|
||||
# Lists ALL the branches
|
||||
> remotes/origin/awesome
|
||||
> remotes/origin/more-work
|
||||
> remotes/origin/new-main
|
||||
```
|
||||
|
||||
Then, you can just switch to your new branch:
|
||||
|
||||
```shell
|
||||
$ git checkout new-main
|
||||
# Create and checkout a tracking branch
|
||||
> Branch new-main set up to track remote branch new-main from origin.
|
||||
> Switched to a new branch 'new-main'
|
||||
```
|
||||
@@ -1,59 +0,0 @@
|
||||
---
|
||||
title: 'Error: Repository not found'
|
||||
intro: '{% ifversion fpt or ghae %}If you see this error when cloning a repository, it means that the repository does not exist or you do not have permission to access it.{% else %}If you see this error when cloning a repository, it means that the repository does not exist, you do not have permission to access it, or {% data variables.product.product_location %} is in private mode.{% endif %} There are a few solutions to this error, depending on the cause.'
|
||||
redirect_from:
|
||||
- /articles/error-repository-not-found
|
||||
- /github/creating-cloning-and-archiving-repositories/error-repository-not-found
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Repository not found
|
||||
---
|
||||
## Check your spelling
|
||||
|
||||
Typos happen, and repository names are case-sensitive. If you try to clone `git@{% data variables.command_line.codeblock %}:user/repo.git`, but the repository is really named `User/Repo` you will receive this error.
|
||||
|
||||
To avoid this error, when cloning, always copy and paste the clone URL from the repository's page. For more information, see "[Cloning a repository](/articles/cloning-a-repository)."
|
||||
|
||||
To update the remote on an existing repository, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)".
|
||||
|
||||
## Checking your permissions
|
||||
|
||||
If you are trying to clone a private repository but do not have permission to view the repository, you will receive this error.
|
||||
|
||||
Make sure that you have access to the repository in one of these ways:
|
||||
|
||||
* The owner of the repository
|
||||
* A [collaborator](/articles/inviting-collaborators-to-a-personal-repository) on the repository
|
||||
* A [member of a team](/articles/adding-organization-members-to-a-team) that has access to the repository (if the repository belongs to an organization)
|
||||
|
||||
## Check your SSH access
|
||||
|
||||
In rare circumstances, you may not have the proper SSH access to a repository.
|
||||
|
||||
You should ensure that the SSH key you are using is attached to your {% data variables.product.product_name %} user account. You can check this by typing
|
||||
the following into the command line:
|
||||
|
||||
```shell
|
||||
$ ssh -T git@{% data variables.command_line.codeblock %}
|
||||
> Hi <em>username</em>! You've successfully authenticated, but GitHub does not
|
||||
> provide shell access.
|
||||
```
|
||||
|
||||
If the repository belongs to an organization and you're using an SSH key generated by an OAuth App, OAuth App access may have been restricted by an organization owner. For more information, see "<a href="/organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions" class="dotcom-only">About OAuth App access restrictions</a>."
|
||||
|
||||
For more information, see [Adding a new SSH key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account).
|
||||
|
||||
{% ifversion ghes %}
|
||||
## Check if your instance is in private mode
|
||||
|
||||
If your site administrator has enabled private mode on your GitHub Enterprise instance, anonymous clones over `git://` will be disabled. If you are unable to clone a repository, contact your site administrator.
|
||||
{% endif %}
|
||||
|
||||
## Check that the repository really exists
|
||||
|
||||
If all else fails, make sure that the repository really exists on {% data variables.product.product_location %}!
|
||||
If you're trying to push to a repository that doesn't exist, you'll get this error.
|
||||
@@ -1,84 +0,0 @@
|
||||
---
|
||||
title: HTTPS cloning errors
|
||||
intro: 'There are a few common errors when using HTTPS with Git. These errors usually indicate you have an old version of Git, or you don''t have access to the repository.'
|
||||
redirect_from:
|
||||
- /articles/error-the-requested-url-returned-error-403/
|
||||
- /articles/error-the-requested-url-returned-error-401/
|
||||
- /articles/error-did-you-run-git-update-server-info-on-the-server/
|
||||
- /articles/error-the-requested-url-returned-error-403-while-accessing-https-github-com-user-repo-git-info-refs/
|
||||
- /articles/https-cloning-errors
|
||||
- /github/creating-cloning-and-archiving-repositories/https-cloning-errors
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
---
|
||||
Here's an example of an HTTPS error you might receive:
|
||||
|
||||
```shell
|
||||
> error: The requested URL returned error: 401 while accessing
|
||||
> https://{% data variables.command_line.codeblock %}/<em>user</em>/<em>repo</em>.git/info/refs?service=git-receive-pack
|
||||
> fatal: HTTP request failed
|
||||
```
|
||||
|
||||
```shell
|
||||
> Error: The requested URL returned error: 403 while accessing
|
||||
> https://{% data variables.command_line.codeblock %}/<em>user</em>/<em>repo</em>.git/info/refs
|
||||
> fatal: HTTP request failed
|
||||
```
|
||||
|
||||
```shell
|
||||
> Error: https://{% data variables.command_line.codeblock %}/<em>user</em>/<em>repo</em>.git/info/refs not found: did you run git
|
||||
> update-server-info on the server?
|
||||
```
|
||||
|
||||
## Check your Git version
|
||||
|
||||
There's no minimum Git version necessary to interact with {% data variables.product.product_name %}, but we've found version 1.7.10 to be a comfortable stable version that's available on many platforms. You can always [download the latest version on the Git website](https://git-scm.com/downloads).
|
||||
|
||||
## Ensure the remote is correct
|
||||
|
||||
The repository you're trying to fetch must exist on {% data variables.product.product_location %}, and the URL is case-sensitive.
|
||||
|
||||
You can find the URL of the local repository by opening the command line and
|
||||
typing `git remote -v`:
|
||||
|
||||
```shell
|
||||
$ git remote -v
|
||||
# View existing remotes
|
||||
> origin https://github.com/ghost/reactivecocoa.git (fetch)
|
||||
> origin https://github.com/ghost/reactivecocoa.git (push)
|
||||
|
||||
$ git remote set-url origin https://github.com/ghost/ReactiveCocoa.git
|
||||
# Change the 'origin' remote's URL
|
||||
|
||||
$ git remote -v
|
||||
# Verify new remote URL
|
||||
> origin https://github.com/ghost/ReactiveCocoa.git (fetch)
|
||||
> origin https://github.com/ghost/ReactiveCocoa.git (push)
|
||||
```
|
||||
|
||||
Alternatively, you can change the URL through our
|
||||
[{% data variables.product.prodname_desktop %}](https://desktop.github.com/) application.
|
||||
|
||||
## Provide an access token
|
||||
|
||||
To access {% data variables.product.prodname_dotcom %}, you must authenticate with a personal access token instead of your password. For more information, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)."
|
||||
|
||||
{% data reusables.command_line.provide-an-access-token %}
|
||||
|
||||
## Check your permissions
|
||||
|
||||
When prompted for a username and password, make sure you use an account that has access to the repository.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip**: If you don't want to enter your credentials every time you interact with the remote repository, you can turn on [credential caching](/github/getting-started-with-github/caching-your-github-credentials-in-git). If you are already using credential caching, please make sure that your computer has the correct credentials cached. Incorrect or out of date credentials will cause authentication to fail.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## Use SSH instead
|
||||
|
||||
If you've previously set up SSH keys, you can use the SSH clone URL instead of HTTPS. For more information, see "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)."
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
title: Cloning a repository from GitHub
|
||||
intro: 'You can clone a remote repository to your local machine. If you run into errors, there are some common troubleshooting solutions.'
|
||||
redirect_from:
|
||||
- /articles/cloning-a-repository-from-github
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /cloning-a-repository
|
||||
- /https-cloning-errors
|
||||
- /error-repository-not-found
|
||||
- /error-remote-head-refers-to-nonexistent-ref-unable-to-checkout
|
||||
shortTitle: Clone a repository
|
||||
---
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
---
|
||||
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.
|
||||
redirect_from:
|
||||
- /articles/about-repositories
|
||||
- /github/creating-cloning-and-archiving-repositories/about-repositories
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
---
|
||||
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](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)."
|
||||
|
||||
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 "[Permission levels for a user account repository](/articles/permission-levels-for-a-user-account-repository/)" and "[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization/)."
|
||||
|
||||
{% ifversion fpt %}
|
||||
With {% data variables.product.prodname_free_team %} for user 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 %}
|
||||
|
||||
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 "[About issues](/github/managing-your-work-on-github/about-issues)."{% ifversion fpt %}
|
||||
- {% data reusables.discussions.you-can-use-discussions %}{% endif %}
|
||||
- You can use pull requests to propose changes to a repository. For more information, see "[About pull requests](/github/collaborating-with-issues-and-pull-requests/about-pull-requests)."
|
||||
- You can use project boards to organize and prioritize your issues and pull requests. For more information, see "[About project boards](/github/managing-your-work-on-github/about-project-boards)."
|
||||
|
||||
{% data reusables.repositories.repo-size-limit %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Creating a new repository](/articles/creating-a-new-repository)"
|
||||
- "[Collaborating with issues and pull requests](/categories/collaborating-with-issues-and-pull-requests)"
|
||||
- "[Managing your work on {% data variables.product.prodname_dotcom %}](/categories/managing-your-work-on-github/)"
|
||||
- "[Administering a repository](/categories/administering-a-repository)"
|
||||
- "[Visualizing repository data with graphs](/categories/visualizing-repository-data-with-graphs/)"
|
||||
- "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)"
|
||||
- "[{% data variables.product.prodname_dotcom %} glossary](/articles/github-glossary)"
|
||||
@@ -1,46 +0,0 @@
|
||||
---
|
||||
title: About repository visibility
|
||||
intro: 'You can restrict who has access to a repository by choosing a repository''s visibility: {% ifversion fpt or ghes %}public, internal, or private{% elsif ghae %}private or internal{% else %} public or private{% endif %}.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
redirect_from:
|
||||
- /github/creating-cloning-and-archiving-repositories/about-repository-visibility
|
||||
shortTitle: Repository visibility
|
||||
---
|
||||
## About repository visibility
|
||||
|
||||
{% ifversion ghae %}When you create a repository owned by your user account, the repository is always private. When you create a repository owned by an organization, you can choose to make the repository private or internal.{% else %}When you create a repository, you can choose to make the repository public or private.{% ifversion fpt or ghes %} If you're creating the repository in an organization{% ifversion fpt %} that is owned by an enterprise account{% endif %}, you can also choose to make the repository internal.{% endif %}{% endif %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
If {% data variables.product.product_location %} is not in private mode or behind a firewall, public repositories are accessible to everyone on the internet. Otherwise, public repositories are available to everyone using {% data variables.product.product_location %}, including outside collaborators. Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. {% ifversion ghes %} Internal repositories are accessible to enterprise members. For more information, see "[About internal repositories](#about-internal-repositories)."{% endif %}
|
||||
{% elsif ghae %}
|
||||
Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. Internal repositories are accessible to all enterprise members. For more information, see "[About internal repositories](#about-internal-repositories)."
|
||||
{% else %}
|
||||
Public repositories are accessible to everyone on the internet. Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. Internal repositories are accessible to enterprise members. For more information, see "[About internal repositories](#about-internal-repositories)."
|
||||
{% endif %}
|
||||
|
||||
Organization owners always have access to every repository created in an organization. For more information, see "[Repository permission levels for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization)."
|
||||
|
||||
People with admin permissions for a repository can change an existing repository's visibility. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)."
|
||||
|
||||
{% ifversion fpt or ghae or ghes %}
|
||||
## About internal repositories
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** {% data reusables.gated-features.internal-repos %}
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% data reusables.repositories.about-internal-repos %} For more information on innersource, see {% data variables.product.prodname_dotcom %}'s whitepaper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)."
|
||||
|
||||
All enterprise members have read permissions to the internal repository, but internal repositories are not visible to people {% ifversion fpt %}outside of the enterprise{% else %}who are not members of an organization{% endif %}, including outside collaborators on organization repositories. For more information, see {% ifversion fpt or ghae %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)."
|
||||
|
||||
{% data reusables.repositories.internal-repo-default %}
|
||||
|
||||
If a user is removed from all organizations owned by the enterprise, that user's forks of internal repositories are removed automatically.
|
||||
{% endif %}
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
title: Creating a repository on GitHub
|
||||
intro: 'After you create your repository on {% data variables.product.product_name %}, you can customize its settings and content.'
|
||||
redirect_from:
|
||||
- /articles/creating-a-repository-on-github
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /about-repositories
|
||||
- /about-repository-visibility
|
||||
- /creating-a-new-repository
|
||||
- /creating-a-repository-from-a-template
|
||||
- /about-readmes
|
||||
- /about-code-owners
|
||||
- /about-repository-languages
|
||||
- /licensing-a-repository
|
||||
- /about-citation-files
|
||||
- /creating-a-template-repository
|
||||
- /creating-an-issues-only-repository
|
||||
- /limits-for-viewing-content-and-diffs-in-a-repository
|
||||
- /duplicating-a-repository
|
||||
shortTitle: Create a repository
|
||||
---
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
title: Limits for viewing content and diffs in a repository
|
||||
intro: '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.'
|
||||
redirect_from:
|
||||
- /articles/what-are-the-limits-for-viewing-content-and-diffs-in-my-repository/
|
||||
- /articles/limits-for-viewing-content-and-diffs-in-a-repository
|
||||
- /github/creating-cloning-and-archiving-repositories/limits-for-viewing-content-and-diffs-in-a-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Content & diffs limits
|
||||
---
|
||||
Most of the limits below affect both {% data variables.product.product_name %} and the API.
|
||||
|
||||
## Text limits
|
||||
|
||||
Text files over **1 MB** are always displayed as plain text. Code is not syntax highlighted, and prose files are not converted to HTML (such as Markdown, AsciiDoc, *etc.*).
|
||||
|
||||
Text files over **5 MB** are only available through their raw URLs, 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 *3,000 lines that you can load* or *100 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).
|
||||
@@ -1,20 +0,0 @@
|
||||
---
|
||||
title: 'Creating, cloning, and archiving repositories'
|
||||
intro: 'You can choose from a variety of configuration options when creating or cloning a repository. You can also use repositories to archive content and data on {% data variables.product.prodname_dotcom %}.'
|
||||
redirect_from:
|
||||
- /categories/repositories/
|
||||
- /categories/24/articles/
|
||||
- /categories/creating-cloning-and-archiving-repositories
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /creating-a-repository-on-github
|
||||
- /cloning-a-repository-from-github
|
||||
- /archiving-a-github-repository
|
||||
shortTitle: 'Create, clone & archive'
|
||||
---
|
||||
|
||||
@@ -58,7 +58,7 @@ shortTitle: Add a project locally
|
||||
|
||||
{% mac %}
|
||||
|
||||
1. [Create a new repository](/articles/creating-a-new-repository) on {% data variables.product.product_location %}. To avoid errors, do not initialize the new repository with *README*, license, or `gitignore` files. You can add these files after your project has been pushed to {% data variables.product.product_name %}.
|
||||
1. [Create a new repository](/repositories/creating-and-managing-repositories/creating-a-new-repository) on {% data variables.product.product_location %}. To avoid errors, do not initialize the new repository with *README*, license, or `gitignore` files. You can add these files after your project has been pushed to {% data variables.product.product_name %}.
|
||||

|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
3. Change the current working directory to your local project.
|
||||
@@ -169,4 +169,4 @@ shortTitle: Add a project locally
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Adding a file to a repository using the command line](/articles/adding-a-file-to-a-repository-using-the-command-line)"
|
||||
- "[Adding a file to a repository](/repositories/working-with-files/managing-files/adding-a-file-to-a-repository#adding-a-file-to-a-repository-using-the-command-line)"
|
||||
|
||||
@@ -14,17 +14,12 @@ children:
|
||||
- /copilot
|
||||
- /setting-up-and-managing-your-enterprise
|
||||
- /writing-on-github
|
||||
- /creating-cloning-and-archiving-repositories
|
||||
- /committing-changes-to-your-project
|
||||
- /collaborating-with-pull-requests
|
||||
- /searching-for-information-on-github
|
||||
- /importing-your-projects-to-github
|
||||
- /administering-a-repository
|
||||
- /visualizing-repository-data-with-graphs
|
||||
- /managing-security-vulnerabilities
|
||||
- /finding-security-vulnerabilities-and-errors-in-your-code
|
||||
- /managing-files-in-a-repository
|
||||
- /managing-large-files
|
||||
- /customizing-your-github-workflow
|
||||
- /extending-github
|
||||
- /working-with-github-support
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
title: Managing files in a repository
|
||||
redirect_from:
|
||||
- /categories/81/articles/
|
||||
- /categories/manipulating-files/
|
||||
- /categories/managing-files-in-a-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /managing-files-on-github
|
||||
- /managing-files-using-the-command-line
|
||||
- /working-with-non-code-files
|
||||
shortTitle: Manage files in a repository
|
||||
---
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
title: Adding a file to a repository
|
||||
intro: 'You can upload and commit an existing file to a {% data variables.product.product_name %} repository. Drag and drop a file to any directory in the file tree, or upload files from the repository''s main page.'
|
||||
redirect_from:
|
||||
- /articles/adding-a-file-to-a-repository
|
||||
- /github/managing-files-in-a-repository/adding-a-file-to-a-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Add a file
|
||||
---
|
||||
Files that you add to a repository via a browser are limited to {% data variables.large_files.max_github_browser_size %} per file. You can add larger files, up to {% data variables.large_files.max_github_size %} each, via the command line. For more information, see "[Adding a file to a repository using the command line](/articles/adding-a-file-to-a-repository-using-the-command-line)."
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tips:**
|
||||
- You can upload multiple files to {% data variables.product.product_name %} at the same time.
|
||||
- {% data reusables.repositories.protected-branches-block-web-edits-uploads %}
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
2. Above the list of files, using the **Add file** drop-down, click **Upload files**.
|
||||

|
||||
3. Drag and drop the file or folder you'd like to upload to your repository onto the file tree.
|
||||

|
||||
{% data reusables.files.write_commit_message %}
|
||||
{% data reusables.files.choose_commit_branch %}
|
||||
6. Click **Commit changes**.
|
||||

|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
title: Editing files in another user's repository
|
||||
intro: 'When you edit a file in another user''s repository, we''ll automatically [fork the repository](/articles/fork-a-repo) and [open a pull request](/articles/creating-a-pull-request) for you.'
|
||||
redirect_from:
|
||||
- /articles/editing-files-in-another-users-repository/
|
||||
- /articles/editing-files-in-another-user-s-repository
|
||||
- /articles/editing-files-in-another-users-repository
|
||||
- /github/managing-files-in-a-repository/editing-files-in-another-users-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Edit another user's files
|
||||
---
|
||||
1. In another user's repository, browse to the folder that contains the file you want to edit. Click the name of the file you want to edit.
|
||||
2. Above the file content, click {% octicon "pencil" aria-label="The edit icon" %}. At this point, GitHub forks the repository for you.
|
||||
3. Make any changes you need to the file.
|
||||

|
||||
{% data reusables.files.preview_change %}
|
||||
{% data reusables.files.write_commit_message %}
|
||||
{% data reusables.files.choose-commit-email %}
|
||||
6. Click **Propose file change**.
|
||||

|
||||
7. Type a title and description for your pull request.
|
||||

|
||||
8. Click **Create pull request**.
|
||||

|
||||
|
||||
## Further reading
|
||||
|
||||
* "[Editing files in your repository](/articles/editing-files-in-your-repository)"
|
||||
@@ -1,40 +0,0 @@
|
||||
---
|
||||
title: Editing files in your repository
|
||||
intro: 'You can edit files directly on {% data variables.product.product_name %} in any of your repositories using the file editor.'
|
||||
redirect_from:
|
||||
- /articles/editing-files/
|
||||
- /articles/editing-files-in-your-repository
|
||||
- /github/managing-files-in-a-repository/editing-files-in-your-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Edit your files
|
||||
---
|
||||
{% tip %}
|
||||
|
||||
**Tip**: {% data reusables.repositories.protected-branches-block-web-edits-uploads %}
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** {% data variables.product.product_name %}'s file editor uses [CodeMirror](https://codemirror.net/).
|
||||
|
||||
{% endnote %}
|
||||
|
||||
1. In your repository, browse to the file you want to edit.
|
||||
{% data reusables.repositories.edit-file %}
|
||||
3. On the **Edit file** tab, make any changes you need to the file.
|
||||

|
||||
{% data reusables.files.preview_change %}
|
||||
{% data reusables.files.write_commit_message %}
|
||||
{% data reusables.files.choose-commit-email %}
|
||||
{% data reusables.files.choose_commit_branch %}
|
||||
{% data reusables.files.propose_file_change %}
|
||||
|
||||
## Further reading
|
||||
|
||||
* "[Editing files in another user's repository](/articles/editing-files-in-another-user-s-repository)"
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
title: Managing files on GitHub
|
||||
intro: 'On {% data variables.product.product_name %}, you can create, edit, move, and delete files in a repository.'
|
||||
redirect_from:
|
||||
- /articles/managing-files-on-github
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /navigating-code-on-github
|
||||
- /creating-new-files
|
||||
- /adding-a-file-to-a-repository
|
||||
- /moving-a-file-to-a-new-location
|
||||
- /editing-files-in-your-repository
|
||||
- /editing-files-in-another-users-repository
|
||||
- /tracking-changes-in-a-file
|
||||
- /deleting-files-in-a-repository
|
||||
- /renaming-a-file
|
||||
- /getting-permanent-links-to-files
|
||||
---
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
title: Moving a file to a new location
|
||||
intro: 'When editing a file, you can choose to move it anywhere within your repository, even if the directory doesn''t exist.'
|
||||
redirect_from:
|
||||
- /articles/moving-a-file-to-a-new-location
|
||||
- /github/managing-files-in-a-repository/moving-a-file-to-a-new-location
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Move a file
|
||||
---
|
||||
In addition to changing the file location, you can also [update the contents of your file](/articles/editing-files-in-your-repository), or [give it a new name](/articles/renaming-a-file) in the same commit.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tips**:
|
||||
|
||||
- If you try to move a file in a repository that you don’t have access to, we'll fork the project to your user account and help you send [a pull request](/articles/about-pull-requests) to the original repository after you commit your change.
|
||||
- Some files, such as images, require that you move them from the command line. For more information, see "[Moving a file to a new location using the command line](/articles/moving-a-file-to-a-new-location-using-the-command-line)".
|
||||
- {% data reusables.repositories.protected-branches-block-web-edits-uploads %}
|
||||
|
||||
{% endtip %}
|
||||
|
||||
1. In your repository, browse to the file you want to move.
|
||||
2. In the upper right corner of the file view, click {% octicon "pencil" aria-label="The edit icon" %} to open the file editor.
|
||||

|
||||
3. In the filename field, change the name of the file using these guidelines:
|
||||

|
||||
- To move the file **into a subfolder**, type the name of the folder you want, followed by `/`. Your new folder name becomes a new item in the navigation breadcrumbs.
|
||||
- To move the file into a directory **above the file's current location**, place your cursor at the beginning of the filename field, then either type `../` to jump up one full directory level, or type the `backspace` key to edit the parent folder's name.
|
||||
{% data reusables.files.write_commit_message %}
|
||||
{% data reusables.files.choose_commit_branch %}
|
||||
{% data reusables.files.propose_file_change %}
|
||||
@@ -1,31 +0,0 @@
|
||||
---
|
||||
title: Renaming a file
|
||||
intro: 'You can rename any file in your repositories directly in {% data variables.product.product_name %}. Renaming a file also gives you the opportunity to [move the file to a new location](/articles/moving-a-file-to-a-new-location).'
|
||||
redirect_from:
|
||||
- /articles/renaming-a-file
|
||||
- /github/managing-files-in-a-repository/renaming-a-file
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
---
|
||||
{% tip %}
|
||||
|
||||
**Tips**:
|
||||
|
||||
- If you try to rename a file in a repository that you don’t have access to, we will fork the project to your user account and help you send [a pull request](/articles/about-pull-requests) to the original repository after you commit your change.
|
||||
- File names created via the web interface can only contain alphanumeric characters and hyphens (`-`). To use other characters, create and commit the files locally and then push them to the repository.
|
||||
- Some files, such as images, require that you rename them from the command line. For more information, see "[Renaming a file using the command line](/articles/renaming-a-file-using-the-command-line)."
|
||||
|
||||
{% endtip %}
|
||||
|
||||
1. In your repository, browse to the file you want to rename.
|
||||
2. In the upper right corner of the file view, click {% octicon "pencil" aria-label="The edit icon" %} to open the file editor.
|
||||

|
||||
3. In the filename field, change the name of the file to the new filename you want. You can also update the contents of your file at the same time.
|
||||

|
||||
{% data reusables.files.write_commit_message %}
|
||||
{% data reusables.files.choose_commit_branch %}
|
||||
{% data reusables.files.propose_file_change %}
|
||||
@@ -1,44 +0,0 @@
|
||||
---
|
||||
title: Adding a file to a repository using the command line
|
||||
intro: 'You can upload an existing file to a {% data variables.product.product_name %} repository using the command line.'
|
||||
redirect_from:
|
||||
- /articles/adding-a-file-to-a-repository-from-the-command-line/
|
||||
- /articles/adding-a-file-to-a-repository-using-the-command-line
|
||||
- /github/managing-files-in-a-repository/adding-a-file-to-a-repository-using-the-command-line
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Add a file locally
|
||||
---
|
||||
{% tip %}
|
||||
|
||||
**Tip:** You can also [add an existing file to a repository from the {% data variables.product.product_name %} website](/articles/adding-a-file-to-a-repository).
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% data reusables.command_line.manipulating_file_prereqs %}
|
||||
|
||||
{% data reusables.repositories.sensitive-info-warning %}
|
||||
|
||||
1. On your computer, move the file you'd like to upload to {% data variables.product.product_name %} into the local directory that was created when you cloned the repository.
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
{% data reusables.command_line.switching_directories_procedural %}
|
||||
{% data reusables.git.stage_for_commit %}
|
||||
```shell
|
||||
$ git add .
|
||||
# Adds the file to your local repository and stages it for commit. {% data reusables.git.unstage-codeblock %}
|
||||
```
|
||||
{% data reusables.git.commit-file %}
|
||||
```shell
|
||||
$ git commit -m "Add existing file"
|
||||
# Commits the tracked changes and prepares them to be pushed to a remote repository. {% data reusables.git.reset-head-to-previous-commit-codeblock %}
|
||||
```
|
||||
{% data reusables.git.git-push %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Creating new files](/articles/creating-new-files)"
|
||||
- "[Adding an existing project to GitHub using the command line](/articles/adding-an-existing-project-to-github-using-the-command-line)"
|
||||
@@ -1,18 +0,0 @@
|
||||
---
|
||||
title: Managing files using the command line
|
||||
intro: 'Using the command line, you can add, rename, and move files in a repository.'
|
||||
redirect_from:
|
||||
- /articles/managing-files-using-the-command-line
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /adding-a-file-to-a-repository-using-the-command-line
|
||||
- /renaming-a-file-using-the-command-line
|
||||
- /moving-a-file-to-a-new-location-using-the-command-line
|
||||
shortTitle: Manage files locally
|
||||
---
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
---
|
||||
title: Moving a file to a new location using the command line
|
||||
intro: You can use the command line to move files within a repository by removing the file from the old location and then adding it in the new location.
|
||||
redirect_from:
|
||||
- /articles/moving-a-file-to-a-new-location-using-the-command-line
|
||||
- /github/managing-files-in-a-repository/moving-a-file-to-a-new-location-using-the-command-line
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Move a file locally
|
||||
---
|
||||
Many files can be [moved directly on {% data variables.product.product_name %}](/articles/moving-a-file-to-a-new-location), but some files, such as images, require that you move them from the command line.
|
||||
|
||||
{% data reusables.command_line.manipulating_file_prereqs %}
|
||||
|
||||
1. On your computer, move the file to a new location within the directory that was created locally on your computer when you cloned the repository.
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
3. Use `git status` to check the old and new file locations.
|
||||
```shell
|
||||
$ git status
|
||||
> # On branch <em>your-branch</em>
|
||||
> # Changes not staged for commit:
|
||||
> # (use "git add/rm <file>..." to update what will be committed)
|
||||
> # (use "git checkout -- <file>..." to discard changes in working directory)
|
||||
> #
|
||||
> # deleted: /<em>old-folder</em>/<em>image.png</em>
|
||||
> #
|
||||
> # Untracked files:
|
||||
> # (use "git add <file>..." to include in what will be committed)
|
||||
> #
|
||||
> # /<em>new-folder</em>/<em>image.png</em>
|
||||
> #
|
||||
> # no changes added to commit (use "git add" and/or "git commit -a")
|
||||
```
|
||||
{% data reusables.git.stage_for_commit %} This will delete, or `git rm`, the file from the old location and add, or `git add`, the file to the new location.
|
||||
```shell
|
||||
$ git add .
|
||||
# Adds the file to your local repository and stages it for commit.
|
||||
# {% data reusables.git.unstage-codeblock %}
|
||||
```
|
||||
5. Use `git status` to check the changes staged for commit.
|
||||
```shell
|
||||
$ git status
|
||||
> # On branch <em>your-branch</em>
|
||||
> # Changes to be committed:
|
||||
> # (use "git reset HEAD <file>..." to unstage)
|
||||
> #
|
||||
> # renamed: /old-folder/image.png -> /new-folder/image.png
|
||||
# Displays the changes staged for commit
|
||||
```
|
||||
{% data reusables.git.commit-file %}
|
||||
```shell
|
||||
$ git commit -m "Move file to new directory"
|
||||
# Commits the tracked changes and prepares them to be pushed to a remote repository.
|
||||
# {% data reusables.git.reset-head-to-previous-commit-codeblock %}
|
||||
```
|
||||
{% data reusables.git.git-push %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Renaming a file using the command line](/articles/renaming-a-file-using-the-command-line)"
|
||||
- "[Adding a file to a repository using the command line](/articles/adding-a-file-to-a-repository-using-the-command-line)"
|
||||
@@ -1,45 +0,0 @@
|
||||
---
|
||||
title: Renaming a file using the command line
|
||||
intro: You can use the command line to rename any file in your repository.
|
||||
redirect_from:
|
||||
- /articles/renaming-a-file-using-the-command-line
|
||||
- /github/managing-files-in-a-repository/renaming-a-file-using-the-command-line
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Rename a file locally
|
||||
---
|
||||
Many files can be [renamed directly on {% data variables.product.product_name %}](/articles/renaming-a-file), but some files, such as images, require that you rename them from the command line.
|
||||
|
||||
{% data reusables.command_line.manipulating_file_prereqs %}
|
||||
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
{% data reusables.command_line.switching_directories_procedural %}
|
||||
3. Rename the file, specifying the old file name and the new name you'd like to give the file. This will stage your change for commit.
|
||||
```shell
|
||||
$ git mv <em>old_filename</em> <em>new_filename</em>
|
||||
```
|
||||
4. Use `git status` to check the old and new file names.
|
||||
```shell
|
||||
$ git status
|
||||
> # On branch <em>your-branch</em>
|
||||
> # Changes to be committed:
|
||||
> # (use "git reset HEAD <file>..." to unstage)
|
||||
> #
|
||||
> # renamed: <em>old_filename</em> -> <em>new_filename</em>
|
||||
> #
|
||||
```
|
||||
{% data reusables.git.commit-file %}
|
||||
```shell
|
||||
$ git commit -m "Rename file"
|
||||
# Commits the tracked changes and prepares them to be pushed to a remote repository.
|
||||
# {% data reusables.git.reset-head-to-previous-commit-codeblock %}
|
||||
```
|
||||
{% data reusables.git.git-push %}
|
||||
|
||||
## Further reading
|
||||
- "[Moving a file to a new location using the command line](/articles/moving-a-file-to-a-new-location-using-the-command-line)"
|
||||
- "[Adding a file to a repository using the command line](/articles/adding-a-file-to-a-repository-using-the-command-line)"
|
||||
@@ -1,65 +0,0 @@
|
||||
---
|
||||
title: 3D File Viewer
|
||||
redirect_from:
|
||||
- /articles/stl-file-viewer/
|
||||
- /articles/3d-file-viewer
|
||||
- /github/managing-files-in-a-repository/3d-file-viewer
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
---
|
||||
{% data variables.product.product_name %} can host and render 3D files with the *.stl* extension.
|
||||
|
||||
When looking directly at an STL file on {% data variables.product.product_name %} you can:
|
||||
|
||||
* Click and drag to spin the model.
|
||||
* Right click and drag to translate the view.
|
||||
* Scroll to zoom in and out.
|
||||
* Click the different view modes to change the view.
|
||||
|
||||
## Diffs
|
||||
|
||||
When looking at a commit or set of changes which includes an STL file, you'll be able to see a before and after diff of the file.
|
||||
|
||||
By default, you'll get a view where everything unchanged is in wireframe. Additions are colored in green, and removed parts are colored in red.
|
||||
|
||||

|
||||
|
||||
You can also select the **Revision Slider** option, which lets you use a slider at the top of the file to transition between the current and previous revisions.
|
||||
|
||||
## Fixing slow performance
|
||||
|
||||
If you see this icon in the corner of the viewer, then the WebGL technology is not available on your browser:
|
||||
|
||||

|
||||
|
||||
WebGL is necessary to take advantage of your computer's hardware to its fullest. We recommend you try browsers like [Chrome](https://www.google.com/intl/en/chrome/browser/) or [Firefox](https://www.mozilla.org/en-US/firefox/new/), which ship with WebGL enabled.
|
||||
|
||||
## Error: "Unable to display"
|
||||
|
||||
If your model is invalid, GitHub may not be able to display the file. In addition, files that are larger than 10 MB are too big for GitHub to display.
|
||||
|
||||
## Embedding your model elsewhere
|
||||
|
||||
To display your 3D file elsewhere on the internet, modify this template and place it on any HTML page that supports JavaScript:
|
||||
|
||||
```html
|
||||
<script src="https://embed.github.com/view/3d/<username>/<repo>/<ref>/<path_to_file>"></script>
|
||||
```
|
||||
|
||||
For example, if your model's URL is [github.com/skalnik/secret-bear-clip/blob/master/stl/clip.stl](https://github.com/skalnik/secret-bear-clip/blob/master/stl/clip.stl), your embed code would be:
|
||||
|
||||
```html
|
||||
<script src="https://embed.github.com/view/3d/skalnik/secret-bear-clip/master/stl/clip.stl"></script>
|
||||
```
|
||||
|
||||
By default, the embedded renderer is 420 pixels wide by 620 pixels high, but you can customize the output by passing height and width variables as parameters at the end of the URL, such as `?height=300&width=500`.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Note**: `ref` can be a branch or the hash to an individual commit (like `2391ae`).
|
||||
|
||||
{% endtip %}
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
title: Working with non-code files
|
||||
intro: ''
|
||||
redirect_from:
|
||||
- /categories/89/articles/
|
||||
- /articles/working-with-non-code-files
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /rendering-and-diffing-images
|
||||
- /3d-file-viewer
|
||||
- /rendering-csv-and-tsv-data
|
||||
- /rendering-pdf-documents
|
||||
- /rendering-differences-in-prose-documents
|
||||
- /mapping-geojson-files-on-github
|
||||
- /working-with-jupyter-notebook-files-on-github
|
||||
shortTitle: Work with non-code files
|
||||
---
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
---
|
||||
title: Mapping geoJSON files on GitHub
|
||||
redirect_from:
|
||||
- /articles/mapping-geojson-files-on-github
|
||||
- /github/managing-files-in-a-repository/mapping-geojson-files-on-github
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Mapping geoJSON files
|
||||
---
|
||||
{% data variables.product.product_name %} supports rendering geoJSON and topoJSON map files within {% data variables.product.product_name %} repositories. Simply commit the file as you would normally using a `.geojson` or `.topojson` extension. Files with a `.json` extension are also supported, but only if `type` is set to `FeatureCollection`, `GeometryCollection`, or `topology`. Then, navigate to the path of the geoJSON file on GitHub.com.
|
||||
|
||||
When you click the paper icon on the right, you'll also see the changes made to that file as part of a commit.
|
||||
|
||||

|
||||
|
||||
## Geometry Types
|
||||
|
||||
Maps on {% data variables.product.product_name %} use [Leaflet.js](http://leafletjs.com) and support all the geometry types outlined in [the geoJSON spec](http://www.geojson.org/geojson-spec.html) (Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection). TopoJSON files should be type "Topology" and adhere to the [topoJSON spec](https://github.com/mbostock/topojson/wiki/Specification).
|
||||
|
||||
## Styling features
|
||||
|
||||
You can customize the way features are displayed, such as specifying a particular color or adding a descriptive icon, by passing additional metadata within the geoJSON object's properties. The options are:
|
||||
|
||||
* `marker-size` - `small`, `medium`, or `large`
|
||||
* `marker-color` - valid RGB hex color
|
||||
* `marker-symbol` - an icon ID from [the Maki project](http://mapbox.com/maki/) or a single alphanumeric character (a-z or 0-9).
|
||||
* `stroke` - color of a polygon edge or line (RGB)
|
||||
* `stroke-opacity` - opacity of a polygon edge or line (0.0 - 1.0)
|
||||
* `stroke-width` - width of a polygon edge or line
|
||||
* `fill` - the color of the interior of a polygon (GRB)
|
||||
* `fill-opacity` - the opacity of the interior of a polygon (0.0-1.0)
|
||||
|
||||
See [version 1.1.0 of the open simplestyle spec](https://github.com/mapbox/simplestyle-spec/tree/master/1.1.0) for more information.
|
||||
|
||||
## Embedding your map elsewhere
|
||||
|
||||
Want to make your geoJSON map available someplace other than {% data variables.product.product_name %}? Simply modify this template, and place it in any HTML page that supports javascript (e.g., [{% data variables.product.prodname_pages %}](http://pages.github.com)):
|
||||
|
||||
```html
|
||||
<script src="https://embed.github.com/view/geojson/<username>/<repo>/<ref>/<path_to_file>"></script>
|
||||
```
|
||||
|
||||
For example, if your map's URL is [github.com/benbalter/dc-wifi-social/blob/master/bars.geojson](https://github.com/benbalter/dc-wifi-social/blob/master/bars.geojson), your embed code would be:
|
||||
|
||||
```html
|
||||
<script src="https://embed.github.com/view/geojson/benbalter/dc-wifi-social/master/bars.geojson"></script>
|
||||
```
|
||||
|
||||
By default, the embedded map 420px x 620px, but you can customize the output by passing height and width variables as parameters at the end, such as `?height=300&width=500`.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Note**: `ref` can be a branch or the hash to an individual commit (like `2391ae`).
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## Clustering
|
||||
|
||||
If your map contains a large number of markers (roughly over 750), GitHub will automatically cluster nearby markers at higher zoom levels. Simply click the cluster or zoom in to see individual markers.
|
||||
|
||||
## Something's up with the underlying map
|
||||
|
||||
The underlying map data (street names, roads, etc.) are driven by [OpenStreetMap](http://www.openstreetmap.org/), a collaborative project to create a free editable map of the world. If you notice something's not quite right, since it's open source, simply [sign up](https://www.openstreetmap.org/user/new) and submit a fix.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you're having trouble rendering geoJSON files, ensure you have a valid geoJSON file by running it through a [geoJSON linter](http://geojsonlint.com/). If your points aren't appearing where you'd expect (<em>e.g.</em>, in the middle of the ocean), it's likely that the data is in a projection which is currently unsupported. Currently, {% data variables.product.product_name %} only supports the `urn:ogc:def:crs:OGC:1.3:CRS84` projection.
|
||||
|
||||
Additionally, if your `.geojson` file is especially large (over 10 MB), it is not possible to render within the browser. If that's the case, you'll generally see a message that looks something like this:
|
||||
|
||||

|
||||
|
||||
It may still be possible to render the data by converting the `.geojson` file to [TopoJSON](https://github.com/mbostock/topojson), a compression format that, in some cases, can reduce filesize by up to 80%. Of course, you can always break the file into smaller chunks (such as by state or by year), and store the data as multiple files within the repository.
|
||||
|
||||
## Additional Resources
|
||||
|
||||
* [Leaflet.js geojson documentation](http://leafletjs.com/examples/geojson.html)
|
||||
* [MapBox marker-styling documentation](http://www.mapbox.com/developers/simplestyle/)
|
||||
* [TopoJSON Wiki](https://github.com/mbostock/topojson/wiki)
|
||||
@@ -1,49 +0,0 @@
|
||||
---
|
||||
title: Rendering and diffing images
|
||||
intro: '{% data variables.product.product_name %} can display several common image formats, including PNG, JPG, GIF, PSD, and SVG. In addition to simply displaying them, there are several ways to compare differences between versions of those image formats.'
|
||||
redirect_from:
|
||||
- /articles/rendering-and-diffing-images
|
||||
- /github/managing-files-in-a-repository/rendering-and-diffing-images
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Render & diff images
|
||||
---
|
||||
{% note %}
|
||||
|
||||
**Note:** If you are using the Firefox browser, SVGs on {% data variables.product.prodname_dotcom %} may not render.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Viewing images
|
||||
|
||||
You can directly browse and view images in your {% data variables.product.product_name %} repository:
|
||||
|
||||

|
||||
|
||||
SVGs don't currently support inline scripting or animation.
|
||||
|
||||
## Viewing differences
|
||||
|
||||
You can visually compare images in three different modes: [2-up](#2-up), [swipe](#swipe), and [onion skin](#onion-skin).
|
||||
|
||||
### 2-up
|
||||
|
||||
**2-up** is the default mode; it gives you a quick glimpse of both images. In addition, if the image has changed size between versions, the actual dimension change is displayed. This should make it very apparent when things are resized, such as when assets are upgraded to higher resolutions.
|
||||
|
||||

|
||||
|
||||
### Swipe
|
||||
|
||||
**Swipe** lets you view portions of your image side by side. Not sure if colors shifted between different versions? Drag the swipe slider over the area in question and compare the pixels for yourself.
|
||||
|
||||

|
||||
|
||||
### Onion skin
|
||||
|
||||
**Onion Skin** really comes in handy when elements move around by small, hard to notice amounts. Did an icon shift two pixels to the left? Drag the opacity slider back a bit and notice if things move around.
|
||||
|
||||

|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
title: Rendering CSV and TSV data
|
||||
redirect_from:
|
||||
- /articles/rendering-csv-and-tsv-data
|
||||
- /github/managing-files-in-a-repository/rendering-csv-and-tsv-data
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Render CSV & TSV data
|
||||
---
|
||||
GitHub supports rendering tabular data in the form of *.csv* (comma-separated) and .*tsv* (tab-separated) files.
|
||||
|
||||

|
||||
|
||||
When viewed, any _.csv_ or _.tsv_ file committed to a {% data variables.product.product_name %} repository automatically renders as an interactive table, complete with headers and row numbering. By default, we'll always assume the first row is your header row.
|
||||
|
||||
You can link to a particular row by clicking the row number, or select multiple rows by holding down the shift key. Just copy the URL and send it to a friend.
|
||||
|
||||
## Searching data
|
||||
|
||||
If you want to find a certain value in your dataset, you can start typing in the search bar directly above the file. The rows will filter automatically:
|
||||
|
||||

|
||||
|
||||
## Handling errors
|
||||
|
||||
Occasionally, you may discover that your CSV or TSV file isn't rendering. In those instances, an error box appears at the bottom of your raw text, suggesting what the error may be.
|
||||
|
||||

|
||||
|
||||
Common errors include:
|
||||
|
||||
* Mismatched column counts. You must have the same number of separators in each row, even if the cell is blank
|
||||
* Exceeding the file size. Our rendering only works for files up to 512KB. Anything bigger than that slows down the browser.
|
||||
@@ -1,69 +0,0 @@
|
||||
---
|
||||
title: Rendering differences in prose documents
|
||||
redirect_from:
|
||||
- /articles/rendering-differences-in-prose-documents
|
||||
- /github/managing-files-in-a-repository/rendering-differences-in-prose-documents
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Differences in prose
|
||||
---
|
||||
Commits and pull requests that include prose documents have the ability to represent those documents with *source* and *rendered* views.
|
||||
|
||||
The source view shows the raw text that has been typed, while the rendered
|
||||
view shows how that text would look once it's rendered on {% data variables.product.product_name %}. For example,
|
||||
this might be the difference between showing `**bold**` in Markdown, and **bold** in the rendered view.
|
||||
|
||||
Prose rendering is supported for rendered documents supported by [github/markup](https://github.com/github/markup):
|
||||
|
||||
* Markdown
|
||||
* AsciiDoc
|
||||
* Textile
|
||||
* ReStructuredText
|
||||
* Rdoc
|
||||
* Org
|
||||
* Creole
|
||||
* MediaWiki
|
||||
* Pod
|
||||
|
||||

|
||||
|
||||
You can click {% octicon "file" aria-label="The paper icon" %} to see the changes made to the document as part of a commit.
|
||||
|
||||

|
||||
|
||||
## Visualizing attribute changes
|
||||
|
||||
We provide a tooltip
|
||||
describing changes to attributes that, unlike words, would not otherwise be visible in the rendered document. For example, if a link URL changes from one website to
|
||||
another, we'd show a tooltip like this:
|
||||
|
||||

|
||||
|
||||
## Commenting on changes
|
||||
|
||||
[Commit comments](/articles/commenting-on-differences-between-files) can only
|
||||
be added to files within the *source* view, on a line-by-line basis.
|
||||
|
||||
## Linking to headers
|
||||
|
||||
As with [other rendered prose documents](/articles/about-readmes),
|
||||
hovering over a header in your document creates a link icon. You can link readers
|
||||
of your rendered prose diff to specific sections.
|
||||
|
||||
## Viewing complex diffs
|
||||
|
||||
Some pull requests involve a large number of changes with large, complex documents. When the changes take too long to analyze, {% data variables.product.product_name %} can't always produce a rendered view of the changes. If this happens, you'll see an error message when you click the rendered button.
|
||||
|
||||

|
||||
|
||||
You can still use the source view to analyze and comment on changes.
|
||||
|
||||
## Viewing HTML elements
|
||||
|
||||
We don't directly support rendered views of commits to HTML documents. Some formats, such as Markdown, let you embed arbitrary HTML in a document. When these documents are shown on {% data variables.product.product_name %}, some of that embedded HTML can be shown in a preview, while some (like an embedded YouTube video) cannot.
|
||||
|
||||
In general, rendered views of changes to a document containing embedded HTML will show changes to the elements that are supported in {% data variables.product.product_name %}'s view of the document. Changes to documents containing embedded HTML should always be reviewed in both the rendered and source views for completeness.
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
title: Rendering PDF documents
|
||||
redirect_from:
|
||||
- /articles/rendering-pdf-documents
|
||||
- /github/managing-files-in-a-repository/rendering-pdf-documents
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
---
|
||||
GitHub supports rendering of PDF documents.
|
||||
|
||||

|
||||
|
||||
Currently, links within PDFs are ignored.
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
title: Working with Jupyter Notebook files on GitHub
|
||||
intro: 'When you add Jupyter Notebook or IPython Notebook files with a *.ipynb* extension on {% data variables.product.product_location %}, they will render as static HTML files in your repository.'
|
||||
redirect_from:
|
||||
- /articles/working-with-jupyter-notebook-files-on-github
|
||||
- /github/managing-files-in-a-repository/working-with-jupyter-notebook-files-on-github
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: Jupyter Notebook files
|
||||
---
|
||||
The interactive features of the notebook, such as custom JavaScript plots, will not work in your repository on {% data variables.product.product_location %}. For an example, see [*Linking and Interactions.ipynb*](https://github.com/bokeh/bokeh-notebooks/blob/main/tutorial/06%20-%20Linking%20and%20Interactions.ipynb).
|
||||
|
||||
To view your Jupyter notebook with JavaScript content rendered or to share your notebook files with others you can use [nbviewer](https://nbviewer.jupyter.org/). For an example, see [*Linking and Interactions.ipynb*](https://nbviewer.jupyter.org/github/bokeh/bokeh-notebooks/blob/main/tutorial/06%20-%20Linking%20and%20Interactions.ipynb) rendered on nbviewer.
|
||||
|
||||
To view a fully interactive version of your Jupyter Notebook, you can set up a notebook server locally. For more information, see [Jupyter's official documentation](http://jupyter.readthedocs.io/en/latest/index.html).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you're having trouble rendering Jupyter Notebook files in static HTML, you can convert the file locally on the command line by using the [`nbconvert` command](https://github.com/jupyter/nbconvert):
|
||||
|
||||
```shell
|
||||
$ jupyter nbconvert --to html <em>NOTEBOOK-NAME.ipynb</em>
|
||||
```
|
||||
|
||||
## Further reading
|
||||
|
||||
- [Jupyter Notebook's GitHub repository](https://github.com/jupyter/jupyter_notebook)
|
||||
- [Gallery of Jupyter Notebooks](https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks)
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
title: Managing large files
|
||||
intro: You can manage large files with Git Large File Storage.
|
||||
redirect_from:
|
||||
- /categories/managing-large-files
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
children:
|
||||
- /working-with-large-files
|
||||
- /versioning-large-files
|
||||
---
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
---
|
||||
title: Conditions for large files
|
||||
intro: '{% data variables.product.product_name %} limits the size of files allowed in repositories, and will block a push to a repository if the files are larger than the maximum file limit.'
|
||||
redirect_from:
|
||||
- /articles/conditions-for-large-files
|
||||
- /github/managing-large-files/conditions-for-large-files
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
shortTitle: Large file conditions
|
||||
---
|
||||
{% data reusables.large_files.use_lfs_tip %}
|
||||
|
||||
## Warning for files larger than {% data variables.large_files.warning_size %}
|
||||
|
||||
If you attempt to add or update a file that is larger than {% data variables.large_files.warning_size %}, you will receive a warning from Git. The changes will still successfully push to your repository, but you can consider removing the commit to minimize performance impact. For more information, see "[Removing files from a repository's history](/github/managing-large-files/removing-files-from-a-repositorys-history)."
|
||||
|
||||
## Blocked pushes for large files
|
||||
|
||||
{% ifversion ghes %}By default, {% endif %}{% data variables.product.product_name %} blocks pushes that exceed {% data variables.large_files.max_github_size %}. {% ifversion ghes %}However, a site administrator can configure a different limit for {% data variables.product.product_location %}. For more information, see "[Setting Git push limits](/enterprise/{{ currentVersion }}/admin/guides/installation/setting-git-push-limits)".{% endif %}
|
||||
@@ -1,21 +0,0 @@
|
||||
---
|
||||
title: Distributing large binaries
|
||||
intro: 'Some projects require distributing large files, such as binaries or installers, in addition to distributing source code.'
|
||||
redirect_from:
|
||||
- /articles/distributing-large-binaries
|
||||
- /github/managing-large-files/distributing-large-binaries
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
shortTitle: Distribute large binaries
|
||||
---
|
||||
If you need to distribute large files within your repository, you can create releases on {% data variables.product.product_location %}. Releases allow you to package software, release notes, and links to binary files, for other people to use. For more information, visit "[About releases](/github/administering-a-repository/about-releases)."
|
||||
|
||||
{% ifversion fpt %}
|
||||
|
||||
We don't limit the total size of the binary files in the release or the bandwidth used to deliver them. However, each individual file must be smaller than {% data variables.large_files.max_lfs_size %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.large_files.use_lfs_tip %}
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
title: Working with large files
|
||||
intro: 'A Git repository contains every version of every file. But for some file types, this is not practical. Multiple revisions of large files increase the clone and fetch times for other users of a repository.'
|
||||
redirect_from:
|
||||
- /articles/working-with-large-files
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
children:
|
||||
- /conditions-for-large-files
|
||||
- /removing-files-from-a-repositorys-history
|
||||
- /distributing-large-binaries
|
||||
- /what-is-my-disk-quota
|
||||
---
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
---
|
||||
title: Removing files from a repository's history
|
||||
intro: 'To remove a large file from your repository, you must completely remove it from your local repository and from {% data variables.product.product_location %}.'
|
||||
redirect_from:
|
||||
- /articles/removing-files-from-a-repository-s-history
|
||||
- /articles/removing-files-from-a-repositorys-history
|
||||
- /github/managing-large-files/removing-files-from-a-repositorys-history
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
shortTitle: Remove repository history
|
||||
---
|
||||
{% warning %}
|
||||
|
||||
**Warning**: These procedures will permanently remove files from the repository on your computer and {% data variables.product.product_location %}. If the file is important, make a local backup copy in a directory outside of the repository.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
## Removing a file added in the most recent unpushed commit
|
||||
|
||||
If the file was added with your most recent commit, and you have not pushed to {% data variables.product.product_location %}, you can delete the file and amend the commit:
|
||||
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
{% data reusables.command_line.switching_directories_procedural %}
|
||||
3. To remove the file, enter `git rm --cached`:
|
||||
```shell
|
||||
$ git rm --cached <em>giant_file</em>
|
||||
# Stage our giant file for removal, but leave it on disk
|
||||
```
|
||||
4. Commit this change using `--amend -CHEAD`:
|
||||
```shell
|
||||
$ git commit --amend -CHEAD
|
||||
# Amend the previous commit with your change
|
||||
# Simply making a new commit won't work, as you need
|
||||
# to remove the file from the unpushed history as well
|
||||
```
|
||||
5. Push your commits to {% data variables.product.product_location %}:
|
||||
```shell
|
||||
$ git push
|
||||
# Push our rewritten, smaller commit
|
||||
```
|
||||
|
||||
## Removing a file that was added in an earlier commit
|
||||
|
||||
If you added a file in an earlier commit, you need to remove it from the repository's history. To remove files from the repository's history, you can use the BFG Repo-Cleaner or the `git filter-branch` command. For more information see "[Removing sensitive data from a repository](/github/authenticating-to-github/removing-sensitive-data-from-a-repository)."
|
||||
@@ -1,47 +0,0 @@
|
||||
---
|
||||
title: What is my disk quota?
|
||||
redirect_from:
|
||||
- /articles/what-is-the-size-limit-for-a-repository/
|
||||
- /articles/what-is-my-disk-quota
|
||||
- /github/managing-large-files/what-is-my-disk-quota
|
||||
intro: '{% data variables.product.product_name %} tries to provide abundant storage for all Git repositories, although there are hard limits for file and repository sizes.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
---
|
||||
{% data reusables.large_files.use_lfs_tip %}
|
||||
|
||||
## File and repository size limitations
|
||||
|
||||
To ensure performance and reliability for our users, we actively monitor signals of overall repository health. Repository health is a function of various interacting factors, including size, commit frequency, contents, and structure.
|
||||
|
||||
We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended. Smaller repositories are faster to clone and easier to work with and maintain. Individual files in a repository are strictly limited to a {% data variables.large_files.max_github_size %} maximum size limit. For more information, see "[Working with large files](/github/managing-large-files/working-with-large-files)."
|
||||
|
||||
If your repository excessively impacts our infrastructure, you might receive an email from {% data variables.contact.github_support %} asking you to take corrective action. We try to be flexible, especially with large projects that have many collaborators, and will work with you to find a resolution whenever possible. You can prevent your repository from impacting our infrastructure by effectively managing your repository's size and overall health. You can find advice and a tool for repository analysis in the [`github/git-sizer`](https://github.com/github/git-sizer) repository.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** If you add a file to a repository via a browser, the file can be no larger than {% data variables.large_files.max_github_browser_size %}. For more information, see "[Adding a file to a repository](/github/managing-files-in-a-repository/adding-a-file-to-a-repository)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Backups
|
||||
|
||||
Git is not designed to serve as a backup tool. However, there are many solutions specifically designed for performing backups, such as [Arq](https://www.arqbackup.com/), [Carbonite](http://www.carbonite.com/), and [CrashPlan](https://www.crashplan.com/en-us/).
|
||||
|
||||
## Database dumps
|
||||
|
||||
Version control systems, such as Git, are not designed to handle large SQL files. To share large databases with other developers, we recommend using [Dropbox](https://www.dropbox.com/).
|
||||
|
||||
Git shouldn't be used to backup your production servers. For more information, see "[Backups](/github/managing-large-files/what-is-my-disk-quota#backups)."
|
||||
|
||||
## External dependencies
|
||||
|
||||
External dependencies can cause Git repositories to become very large. To avoid filling a repository with external dependencies, we recommend you use a package manager. Popular package managers for common languages include [Bundler](http://bundler.io/), [Node's Package Manager](http://npmjs.org/), and [Maven](http://maven.apache.org/). These package managers support using Git repositories directly, so you don't need pre-packaged sources.
|
||||
|
||||
## Packaged release versions
|
||||
|
||||
We don't recommend distributing compiled code and pre-packaged releases within your repository. For more information, see "[Distributing large binaries](/github/managing-large-files/distributing-large-binaries)."
|
||||
|
||||
## Changing history of an existing repository
|
||||
|
||||
If you already have a repository that's quite large, you can reduce the size of a repository by removing large files from the repository's history. For more information, see "[Removing files from a repository's history](/github/managing-large-files/removing-files-from-a-repositorys-history)."
|
||||
@@ -69,5 +69,5 @@ The `sort:updated` qualifier sorts by how recently the items were updated.
|
||||
|
||||
## Further reading
|
||||
|
||||
- [About searching on GitHub](/articles/about-searching-on-github)
|
||||
- [Sorting issues and pull requests](/articles/sorting-issues-and-pull-requests/)
|
||||
- "[About searching on {% data variables.product.prodname_dotcom %}](/articles/about-searching-on-github)"
|
||||
- "[Filtering and searching issues and pull requests](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests)"
|
||||
|
||||
@@ -100,7 +100,7 @@ To search commits in all repositories owned by a certain user or organization, u
|
||||
|
||||
## Filter by repository visibility
|
||||
|
||||
The `is` qualifier matches commits from repositories with the specified visibility. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility).
|
||||
The `is` qualifier matches commits from repositories with the specified visibility. For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)."
|
||||
|
||||
| Qualifier | Example
|
||||
| ------------- | ------------- |{% ifversion fpt or ghes %}
|
||||
|
||||
@@ -37,7 +37,7 @@ To search discussions in all repositories owned by a certain user or organizatio
|
||||
|
||||
## Filter by repository visibility
|
||||
|
||||
You can filter by the visibility of the repository containing the discussions using the `is` qualifier. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)."
|
||||
You can filter by the visibility of the repository containing the discussions using the `is` qualifier. For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)."
|
||||
|
||||
| Qualifier | Example
|
||||
| :- | :- |{% ifversion fpt or ghes %}
|
||||
|
||||
@@ -143,7 +143,7 @@ You can search repositories by the type of license in the repositories. You must
|
||||
|
||||
## Search by repository visibility
|
||||
|
||||
You can filter your search based on the visibility of the repositories. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)."
|
||||
You can filter your search based on the visibility of the repositories. For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)."
|
||||
|
||||
| Qualifier | Example
|
||||
| ------------- | ------------- |{% ifversion fpt or ghes %}
|
||||
@@ -166,7 +166,7 @@ You can search repositories based on whether the repositories are mirrors and ho
|
||||
|
||||
## Search based on whether a repository is archived
|
||||
|
||||
You can search repositories based on whether or not the repositories are archived. For more information, see "[About archiving repositories](/github/creating-cloning-and-archiving-repositories/about-archiving-repositories)."
|
||||
You can search repositories based on whether or not the repositories are archived. For more information, see "[Archiving repositories](/repositories/archiving-a-github-repository/archiving-repositories)."
|
||||
|
||||
| Qualifier | Example
|
||||
| ------------- | -------------
|
||||
|
||||
@@ -74,7 +74,7 @@ You can filter issues and pull requests based on whether they're open or closed
|
||||
|
||||
## Filter by repository visibility
|
||||
|
||||
You can filter by the visibility of the repository containing the issues and pull requests using the `is` qualifier. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)."
|
||||
You can filter by the visibility of the repository containing the issues and pull requests using the `is` qualifier. For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)."
|
||||
|
||||
| Qualifier | Example
|
||||
| ------------- | ------------- |{% ifversion fpt or ghes %}
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
title: Accessing basic repository data
|
||||
intro: 'You can view basic information about a repository, such as the repository''s activity{% ifversion fpt %}, traffic,{% endif %} and contribution activity.'
|
||||
redirect_from:
|
||||
- /articles/accessing-basic-repository-data
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /about-repository-graphs
|
||||
- /viewing-a-summary-of-repository-activity
|
||||
- /viewing-a-projects-contributors
|
||||
- /viewing-traffic-to-a-repository
|
||||
shortTitle: Access basic repository data
|
||||
---
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
title: Analyzing changes to a repository's content
|
||||
intro: 'You can see the changes to the content of a repository by analyzing the repository''s commits, commit frequency, and content additions and deletions.'
|
||||
redirect_from:
|
||||
- /articles/viewing-commit-frequency-in-a-repository/
|
||||
- /articles/analyzing-changes-to-a-repository-s-content
|
||||
- /articles/analyzing-changes-to-a-repositorys-content
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
children:
|
||||
- /visualizing-commits-in-a-repository
|
||||
- /visualizing-additions-and-deletions-to-content-in-a-repository
|
||||
shortTitle: Analyze changes to repository
|
||||
---
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
title: Visualizing additions and deletions to content in a repository
|
||||
intro: The code frequency graph displays the content additions and deletions for each week in a repository's history.
|
||||
product: '{% data reusables.gated-features.repository-insights %}'
|
||||
redirect_from:
|
||||
- /articles/visualizing-additions-and-deletions-to-content-in-a-repository
|
||||
- /github/visualizing-repository-data-with-graphs/visualizing-additions-and-deletions-to-content-in-a-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: View changes to content
|
||||
---
|
||||
{% ifversion fpt %}
|
||||
|
||||

|
||||
|
||||
{% endif %}
|
||||
|
||||
## Accessing the code frequency graph
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.accessing-repository-graphs %}
|
||||
3. In the left sidebar, click **Code frequency**.
|
||||

|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
title: Visualizing commits in a repository
|
||||
intro: You can see all commits made to a repository in the past year (excluding merge commits) in the Commit graph.
|
||||
product: '{% data reusables.gated-features.repository-insights %}'
|
||||
redirect_from:
|
||||
- /articles/visualizing-commits-in-a-repository
|
||||
- /github/visualizing-repository-data-with-graphs/visualizing-commits-in-a-repository
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
shortTitle: View commits in repository
|
||||
---
|
||||
The top graph shows commits for the entire year by week.
|
||||
|
||||

|
||||
|
||||
The bottom graph shows the average number of commits by day of the week for the selected week.
|
||||
|
||||

|
||||
|
||||
## Accessing the commits graph
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.accessing-repository-graphs %}
|
||||
3. In the left sidebar, click **Commits**.
|
||||

|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user