Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

リポジトリをフォークする

フォークとはリポジトリのコピーのことです。 リポジトリをフォークすることにより、オリジナルのプロジェクトに影響を与えることなく変更を自由にテストできます。

Members of an enterprise with managed users cannot fork repositories from outside of the enterprise or fork internal repositories.

フォークについて

Most commonly, forks are used to either propose changes to someone else's project to which you do not have write access, or to use someone else's project as a starting point for your own idea. You can fork a repository to create a copy of the repository and make changes without affecting the upstream repository. For more information, see "Working with forks."

他のユーザのプロジェクトへの変更を提案する

たとえば、フォークを使用して、バグの修正に関連する変更を提案できます。 Rather than logging an issue for a bug you have found, you can:

  • リポジトリをフォークする。
  • 修正する。
  • プロジェクトのオーナーにプルリクエストを送信する。

他のユーザのプロジェクトを自分のアイディアの出発点として活用する。

オープンソースソフトウェアは、コードを共有することで、より優れた、より信頼性の高いソフトウェアを作成可能にするという考えに基づいています。 詳しい情報については、Open Source Initiative の「Open Source Initiative について」を参照してください。

GitHub.com に関する Organization の開発作業にオープンソースの原則を適用する方法の詳細については、GitHub のホワイトペーパー「インナーソース入門」を参照してください。

他のユーザのプロジェクトのフォークからパブリックリポジトリを作成する際は、プロジェクトの他者との共有方法を定義するライセンスファイルを必ず含めてください。 詳しい情報については、choosealicense.com の「オープンソースのライセンスを選択する」を参照してください。

オープンソースに関する詳しい情報、特にオープンソースプロジェクトの立ち上げと成長させる方法について、Open Source Guidesを作成しました。これは、オープンソースプロジェクトのためのリポジトリの作成と管理にに関するベストプラクティスを推奨することによって、健全なオープンソースコミュニティの育成を支援しようとするものです。 オープンソースコミュニティの管理に関する無料のGitHub Learning Labコースを利用することもできます。

必要な環境

If you have not yet, you should first set up Git. Git からの GitHub.com への認証を設定することも忘れないでください。

リポジトリをフォークする

上流または元のリポジトリへの変更を提案するために、プロジェクトをフォークする場合があります。 この場合、自分のフォークを上流のリポジトリと定期的に同期させるとよいでしょう。 これには、コマンドラインで Git を使用する必要があります。 先程フォークした同じ octocat/Spoon-Knife リポジトリを使用して、上流リポジトリの設定を練習できます。

  1. On GitHub.com, navigate to the octocat/Spoon-Knife repository.
  2. ページの右上にある [Fork] をクリックします。 [Fork] ボタン

To learn more about GitHub CLI, see "About GitHub CLI."

To create a fork of a repository, use the gh repo fork subcommand.

gh repo fork repository

To create the fork in an organization, use the --org flag.

gh repo fork repository --org "octo-org"

Cloning your forked repository

Right now, you have a fork of the Spoon-Knife repository, but you do not have the files in that repository locally on your computer.

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

  2. ファイルのリストの上にある Code(コード)をクリックしてください。 "Code"ボタン

  3. Copy the URL for the repository.

    • To clone the repository using HTTPS, under "HTTPS", click .
    • Organization の SSH 認証局から発行された証明書を含む SSH キーを使用してリポジトリのクローンを作成するには、[SSH]、 の順にクリックします。
    • To clone a repository using GitHub CLI, click GitHub CLI, then click . GitHub CLIでリポジトリをクローンするためのURLをコピーするためのクリップボードアイコン
  4. ターミナルターミナルGit Bashを開いてください。

  5. カレントワーキングディレクトリを、ディレクトリをクローンしたい場所に変更します。

  6. git clone と入力し、前の手順でコピーした URL を貼り付けます。 次のようになるはずです (YOUR-USERNAME はあなたの GitHub Enterprise Cloud ユーザ名に置き換えてください):

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
  7. Enter を押します。 これで、ローカルにクローンが作成されます。

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.

To learn more about GitHub CLI, see "About GitHub CLI."

To create a clone of your fork, use the --clone flag.

gh repo fork repository --clone=true
  1. Fileメニューで、Clone Repository(リポジトリのクローン)をクリックしてください。

    Mac アプリケーション内の [Clone] メニューオプション

    Windows アプリケーション内の [Clone] メニューオプション

  2. クローンしたいリポジトリの場所に対応するタブをクリックしてください。 URLをクリックし、リポジトリの場所を入力することもできます。

    [Clone a repository] メニュー内の [Location] タブ

    [Clone a repository] メニュー内の [Location] タブ

  3. クローンしたいリポジトリをリストから選択します。

    リポジトリリストのクローン

    リポジトリリストのクローン

  4. Choose...(選択...)をクリックし、リポジトリをクローンしたいローカルのパスに移動してください。

    Chooseボタン

    Chooseボタン

  5. Cloneをクリックします。

    Cloneボタン

    Cloneボタン

Configuring Git to sync your fork with the original repository

When you fork a project in order to propose changes to the original repository, you can configure Git to pull changes from the original, or upstream, repository into the local clone of your fork.

  1. On GitHub.com, navigate to the octocat/Spoon-Knife repository.

  2. ファイルのリストの上にある Code(コード)をクリックしてください。 "Code"ボタン

  3. Copy the URL for the repository.

    • To clone the repository using HTTPS, under "HTTPS", click .
    • Organization の SSH 認証局から発行された証明書を含む SSH キーを使用してリポジトリのクローンを作成するには、[SSH]、 の順にクリックします。
    • To clone a repository using GitHub CLI, click GitHub CLI, then click . GitHub CLIでリポジトリをクローンするためのURLをコピーするためのクリップボードアイコン
  4. ターミナルターミナルGit Bashを開いてください。

  5. Change directories to the location of the fork you cloned.

    • ホームディレクトリに移動するには、cd とだけ入力します。
    • 現在のディレクトリのファイルとフォルダを一覧表示するには、ls と入力します。
    • 一覧表示されたディレクトリのいずれかにアクセスするには、cd your_listed_directory と入力します。
    • 1 つ上のディレクトリに移動するには、cd .. と入力します。
  6. git remote -v と入力して Enter キーを押します。 You will see the current configured remote repository for your fork.

    $ git remote -v
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
  7. Type git remote add upstream, and then paste the URL you copied in Step 3 and press Enter. 次のようになります:

    $ git remote add upstream https://github.com/YOUR_USERNAME/Spoon-Knife.git
  8. To verify the new upstream repository you have specified for your fork, type git remote -v again. フォークの URL が origin として、オリジナルのリポジトリの URL が upstream として表示されるはずです。

    $ git remote -v
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

これで、いくつかの Git コマンドでフォークと上流リポジトリの同期を維持できます。 For more information, see "Syncing a fork."

To learn more about GitHub CLI, see "About GitHub CLI."

To configure a remote repository for the forked repository, use the --remote flag.

gh repo fork repository --remote=true

To specify the remote repository's name, use the --remote-name flag.

gh repo fork repository --remote-name "main-remote-repo"

Editing a fork

フォークには、次のような変更を加えることができます。

  • ブランチを作成する: ブランチによって、メインプロジェクトをリスクにさらすことなく新機能を構築したりアイデアを試したりできます。
  • プルリクエストをオープンする: オリジナルのリポジトリにコントリビュートしたい場合は、プルリクエストを送信して、オリジナルの作者に自分のフォークをリポジトリへプルするようリクエストを送信できます。

フォークする他のリポジトリを見つける

リポジトリをフォークしてプロジェクトへのコントリビューションを開始しましょう。 You can fork a repository to your personal account or any organization where you have repository creation permissions. 詳しい情報については「Organization内のロール」を参照してください。

If you have access to a private repository and the owner permits forking, you can fork the repository to your personal account or any organization on GitHub Team where you have repository creation permissions. ぷらいべーとリポジトリは、GitHub Freeを使っているOrganizationにはフォークできません。 詳しい情報については「GitHubの製品」を参照してください。

You can browse Explore to find projects and start contributing to open source repositories. 詳しい情報については、「GitHub でオープンソースにコントリビュートする方法を見つける」を参照してください。

次のステップ

リポジトリをフォークし、フォークのクローンを練習し、上流リポジトリを構成しました。

  • For more information about cloning the fork and syncing the changes in a forked repository from your computer, see "Set up Git."

  • You can also create a new repository where you can put all your projects and share the code on GitHub. Creating a repository for your project allows you to store code in GitHub. This provides a backup of your work that you can choose to share with other developers. For more information, see “Create a repository.""

  • Each repository on GitHub is owned by a person or an organization. You can interact with the people, repositories, and organizations by connecting and following them on GitHub Enterprise Cloud. For more information, see "Be social."

  • GitHubには素晴らしいサポートコミュニティがあり、助けを求め、世界中の人々と話すことができます。 Join the conversation on GitHub Support Community.