Skip to main content

This version of GitHub Enterprise was discontinued on 2023-03-15. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Contributing to projects

Learn how to contribute to a project through forking.

About forking

If you want to contribute to someone else's project but don't have write access to the repository, you can use a "fork and pull request" workflow.

A fork is a new repository that shares code and visibility settings with the original “upstream” repository. Forks are often used to iterate on ideas or changes before they are proposed back to the upstream repository, such as in open source projects or when a user does not have write access to the upstream repository.

You can contribute by submitting pull requests from your fork to the upstream repository. For more information, see "Fork a repo."

Forking a repository

This tutorial uses the Spoon-Knife project, a test repository that's hosted on GitHub.com that lets you test the fork and pull request workflow.

  1. Navigate to the Spoon-Knife project at https://github.com/octocat/Spoon-Knife.

  2. In the top-right corner of the page, click Fork.

    Screenshot of the main page of repository. A button, labeled with a fork icon and "Fork 59.3k," is outlined in dark orange.

Cloning a fork

You've successfully forked the Spoon-Knife repository, but so far, it only exists on GitHub Enterprise Server. To be able to work on the project, you will need to clone it to your computer.

You can clone your fork with the command line, GitHub CLI, or GitHub Desktop.

  1. On GitHub Enterprise Server, navigate to your fork of the Spoon-Knife repository.

  2. Above the list of files, click Code.

    Screenshot of the list of files on the landing page of a repository. The "Code" button is highlighted with a dark orange outline.

  3. Copy the URL for the repository.

    • To clone the repository using HTTPS, under "HTTPS", click .

    • To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click SSH, then click .

    • To clone a repository using GitHub CLI, click GitHub CLI, then click .