フォークについて
一般的にフォークは、他のユーザのプロジェクトへの変更を提案するため、あるいは他のユーザのプロジェクトを自分のアイディアの出発点として活用するために使用します。 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 について」を参照してください。
GitHub.com に関する Organization の開発作業にオープンソースの原則を適用する方法の詳細については、GitHub のホワイトペーパー「インナーソース入門」を参照してください。
他のユーザのプロジェクトのフォークからパブリックリポジトリを作成する際は、プロジェクトの他者との共有方法を定義するライセンスファイルを必ず含めてください。 詳しい情報については、choosealicense.com の「オープンソースのライセンスを選択する」を参照してください。
オープンソースに関する詳しい情報、特にオープンソースプロジェクトの立ち上げと成長させる方法について、Open Source Guidesを作成しました。これは、オープンソースプロジェクトのためのリポジトリの作成と管理にに関するベストプラクティスを推奨することによって、健全なオープンソースコミュニティの育成を支援しようとするものです。 オープンソースコミュニティの管理に関する無料のGitHub Learning Labコースを利用することもできます。
必要な環境
まだ設定していない場合は、まず Git を設定します。 Git からの GitHub.com への認証を設定することも忘れないでください。
リポジトリをフォークする
上流または元のリポジトリへの変更を提案するために、プロジェクトをフォークする場合があります。 この場合、自分のフォークを上流のリポジトリと定期的に同期させるとよいでしょう。 これには、コマンドラインで Git を使用する必要があります。 先程フォークした同じ octocat/Spoon-Knife リポジトリを使用して、上流リポジトリの設定を練習できます。
- On GitHub.com, navigate to the octocat/Spoon-Knife repository.
- ページの右上にある [Fork] をクリックします。
![[Fork] ボタン](https://web.archive.org/web/20211105031211im_/https://docs.github.com/assets/images/help/repository/fork_button.jpg)
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.
-
On GitHub.com, navigate to your fork of the Spoon-Knife repository.
-
ファイルのリストの上にある Code(コード)をクリックしてください。

-
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 .


-
ターミナルターミナルGit Bashを開いてください。
-
カレントワーキングディレクトリを、ディレクトリをクローンしたい場所に変更します。
-
git cloneと入力し、前の手順でコピーした URL を貼り付けます。 次のようになるはずです (YOUR-USERNAMEはあなたの GitHub ユーザ名に置き換えてください):$ git clone https://github.com/YOUR-USERNAME/Spoon-Knife -
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
-
Fileメニューで、Clone Repository(リポジトリのクローン)をクリックしてください。
![Mac アプリケーション内の [Clone] メニューオプション](https://web.archive.org/web/20211105031211im_/https://docs.github.com/assets/images/help/desktop/clone-file-menu-mac.png)
![Windows アプリケーション内の [Clone] メニューオプション](https://web.archive.org/web/20211105031211im_/https://docs.github.com/assets/images/help/desktop/clone-file-menu-windows.png)
-
クローンしたいリポジトリの場所に対応するタブをクリックしてください。 URLをクリックし、リポジトリの場所を入力することもできます。
![[Clone a repository] メニュー内の [Location] タブ](https://web.archive.org/web/20211105031211im_/https://docs.github.com/assets/images/help/desktop/choose-repository-location-mac.png)
![[Clone a repository] メニュー内の [Location] タブ](https://web.archive.org/web/20211105031211im_/https://docs.github.com/assets/images/help/desktop/choose-repository-location-win.png)
-
クローンしたいリポジトリをリストから選択します。


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


-
Cloneをクリックします。


Configuring Git to sync your fork with the original repository
オリジナルのリポジトリへの変更を提案するためにプロジェクトをフォークする場合は、オリジナルまたは上流のリポジトリから、フォークのローカルのクローンへと、変更をプルするように Git を構成できます。
-
On GitHub.com, navigate to the octocat/Spoon-Knife repository.
-
ファイルのリストの上にある Code(コード)をクリックしてください。

-
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 .


-
ターミナルターミナルGit Bashを開いてください。
-
Change directories to the location of the fork you cloned.
- ホームディレクトリに移動するには、
cdとだけ入力します。 - 現在のディレクトリのファイルとフォルダを一覧表示するには、
lsと入力します。 - 一覧表示されたディレクトリのいずれかにアクセスするには、
cd your_listed_directoryと入力します。 - 1 つ上のディレクトリに移動するには、
cd ..と入力します。
- ホームディレクトリに移動するには、
-
git remote -vと入力して Enter キーを押します。 フォーク用に現在構成されているリモートリポジトリが表示されます。$ git remote -v > origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) > origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push) -
git remote add upstreamと入力し、ステップ 2 でコピーした URL を貼り付けて Enter キーを押します。 次のようになります:$ git remote add upstream https://github.com/octocat/Spoon-Knife.git -
フォーク用に指定した新しい上流リポジトリを確認するには、再度
git remote -vと入力します。 フォークの 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 コマンドでフォークと上流リポジトリの同期を維持できます。 詳細は「フォークを同期する」を参照してください。
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."
プライベートリポジトリにアクセスでき、オーナーがフォークを許可しているなら、そのリポジトリを自分のアカウントあるいはリポジトリの作成権限を持っているGitHub Team上のOrganizationにフォークできます。 ぷらいべーとリポジトリは、GitHub Freeを使っているOrganizationにはフォークできません。 詳しい情報については「GitHubの製品」を参照してください。
Explore を閲覧して、プロジェクトを探してオープンソースのリポジトリへのコントリビューションを開始できます。 詳しい情報については、「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. For more information see, "Create a repository."
Each repository in 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. For more information see "Be social."
GitHubには素晴らしいサポートコミュニティがあり、助けを求め、世界中の人々と話すことができます。 Github Support Communityでの会話に参加してください。

