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

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

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

フォークについて

一般的にフォークは、他のユーザのプロジェクトへの変更を提案するため、あるいは他のユーザのプロジェクトを自分のアイディアの出発点として活用するために使用します。 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."

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

たとえば、フォークを使用して、バグの修正に関連する変更を提案できます。 見つけたバグから Issue をログするのではなく、以下のことができます:

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

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

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

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

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

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

必要な環境

まだ設定していない場合は、まず Git を設定します。 Git からの your GitHub Enterprise Server instance への認証を設定することも忘れないでください。

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

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

  1. On your GitHub Enterprise Server instance, 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 don't have the files in that repository locally on your computer.

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

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

  3. HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下で、 をクリックしてください。 To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click . To clone a repository using GitHub CLI, click Use GitHub CLI, then click . リポジトリをクローンするURLをコピーするクリップボードアイコン

    GitHub CLIでリポジトリをクローンするためのURLをコピーするためのクリップボードアイコン

  4. ターミナルターミナルGit Bashを開いてください。

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

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

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

    $ git clone https://hostname/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

オリジナルのリポジトリへの変更を提案するためにプロジェクトをフォークする場合は、オリジナルまたは上流のリポジトリから、フォークのローカルのクローンへと、変更をプルするように Git を構成できます。

  1. On your GitHub Enterprise Server instance, navigate to the octocat/Spoon-Knife repository.

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

  3. HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下で、 をクリックしてください。 To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click . To clone a repository using GitHub CLI, click Use GitHub CLI, then click . リポジトリをクローンするURLをコピーするクリップボードアイコン

    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 キーを押します。 フォーク用に現在構成されているリモートリポジトリが表示されます。

    $ git remote -v
    > origin  https://hostname/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin  https://hostname/YOUR_USERNAME/YOUR_FORK.git (push)
  7. git remote add upstream と入力し、ステップ 2 でコピーした URL を貼り付けて Enter キーを押します。 次のようになります:

    $ git remote add upstream https://hostname/octocat/Spoon-Knife.git
  8. フォーク用に指定した新しい上流リポジトリを確認するには、再度 git remote -v と入力します。 フォークの URL が origin として、オリジナルのリポジトリの URL が upstream として表示されるはずです。

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

これで、いくつかの Git コマンドでフォークと上流リポジトリの同期を維持できます。 詳細は「フォークを同期する」を参照してください。

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"

次のステップ

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

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

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

リポジトリをフォークしてプロジェクトへのコントリビューションを開始しましょう。 ユーザアカウントあるいはリポジトリの作成権限を持つOrganizationにリポジトリをフォークできます。 For more information, see "Roles in an organization."

プライベートリポジトリにアクセスでき、オーナーがフォークを許可しているなら、そのリポジトリを自分のアカウントあるいはリポジトリの作成権限を持っているyour GitHub Enterprise Server instance上のOrganizationにフォークできます。

おめでとうございます

リポジトリをフォークし、フォークのクローンを練習し、上流リポジトリを構成しました。 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. For more information see, "Create a repository."

Each repository in GitHub Enterprise Server 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 Server. For more information see "Be social."

GitHubには素晴らしいサポートコミュニティがあり、助けを求め、世界中の人々と話すことができます。 Github Support Communityでの会話に参加してください。

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?