記事のバージョン: GitHub.com
リポジトリをフォークする
A fork is a copy of a repository. リポジトリをフォークすることにより、オリジナルのプロジェクトに影響を与えることなく変更を自由にテストできます。
一般的にフォークは、他のユーザのプロジェクトへの変更を提案するため、あるいは他のユーザのプロジェクトを自分のアイディアの出発点として活用するために使用します。
他のユーザのプロジェクトへの変更を提案する
For example, you can use forks to propose changes related to fixing a bug. 見つけたバグから Issue をログするのではなく、以下のことができます:
- リポジトリをフォークする。
- 修正する。
- プロジェクトのオーナーにプルリクエストを送信する。
他のユーザのプロジェクトを自分のアイディアの出発点として活用する。
Open source software is based on the idea that by sharing code, we can make better, more reliable software. For more information, see the “About the Open Source Initiative" on the Open Source Initiative.
When creating your public repository from a fork of someone's project, make sure to include a license file that determines how you want your project to be shared with others. For more information, see “Choose an open source license" at choosealicense.
オープンソースに関する詳しい情報、特にオープンソースプロジェクトの立ち上げと成長させる方法について、Open Source Guidesを作成しました。これは、オープンソースプロジェクトのためのリポジトリの作成と管理にに関するベストプラクティスを推奨することによって、健全なオープンソースコミュニティの育成を支援しようとするものです。 オープンソースコミュニティの管理に関する無料のGitHub Learning Labコースを利用することもできます。
Note: You can use GitHub Desktop to fork a repository. For more information, see “Cloning and forking repositories from GitHub Desktop."
リポジトリのフォークの例
リポジトリのフォークは、2 つのステップからなるシンプルなプロセスです。 We've created a repository for you to practice with.
- GitHub で、octocat/Spoon-Knife リポジトリに移動します。
- ページの右上にある [Fork] をクリックします。
![[Fork] ボタン](https://proxy-ga.blitzz.co/proxy/123456/web.archive.org/web/20200314053643im_/https:/help.github.com/assets/images/help/repository/fork_button.jpg)
フォークを同期させる
You might fork a project to propose changes to the upstream, or original, repository. この場合、自分のフォークを上流のリポジトリと定期的に同期させるとよいでしょう。 これには、コマンドラインで Git を使用する必要があります。 You can practice setting the upstream repository using the same octocat/Spoon-Knife repository you just forked.
ステップ 1: Git をセットアップする
まだ設定していない場合は、まず Git を設定します。 Git からの GitHub への認証を設定することも忘れないでください。
ステップ 2: フォークのローカルクローンを作成する
今、Spoon-Knife リポジトリのフォークがありますが、お使いのコンピュータにはそのリポジトリ内のファイルはありません。 フォークのクローンをコンピュータにローカルで作成しましょう。
-
GitHub で、Spoon-Knife リポジトリの自分のフォークに移動します。
-
リポジトリ名の下でClone or download(クローンもしくはダウンロード)をクリックしてください。

-
HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下でをクリックしてください。 リポジトリをOrganizationのSSH認証局が発行した証明書を含むSSHキーを使ってクローンするには、Use SSH(SSHを利用)をクリックし、続いてをクリックしてください。

-
ターミナルターミナル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.
Now, you have a local copy of your fork of the Spoon-Knife repository.
ステップ 3: Git を構成して、自分のフォークとオリジナルの Spoon-Knife リポジトリを同期させる
オリジナルのリポジトリへの変更を提案するためにプロジェクトをフォークする場合は、オリジナルまたは上流のリポジトリから、フォークのローカルのクローンへと、変更をプルするように Git を構成できます。
-
GitHub で、octocat/Spoon-Knife リポジトリに移動します。
-
リポジトリ名の下でClone or download(クローンもしくはダウンロード)をクリックしてください。

-
HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下でをクリックしてください。 リポジトリをOrganizationのSSH認証局が発行した証明書を含むSSHキーを使ってクローンするには、Use SSH(SSHを利用)をクリックし、続いてをクリックしてください。

-
ターミナルターミナルGit Bashを開いてください。
-
ディレクトリを、「ステップ 2: フォークのローカルクローンを作成する」でクローンしたフォークの場所に変更します。
- ホームディレクトリに移動するには、
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 コマンドでフォークと上流リポジトリの同期を維持できます。 詳細は「フォークを同期する」を参照してください。
次のステップ
You can make any changes to a fork, including:
- Creating branches: Branches allow you to build new features or test out ideas without putting your main project at risk.
- プルリクエストをオープンする: オリジナルのリポジトリにコントリビュートしたい場合は、プルリクエストを送信して、オリジナルの作者に自分のフォークをリポジトリへプルするようリクエストを送信できます。
フォークする他のリポジトリを見つける
リポジトリをフォークしてプロジェクトへのコントリビューションを開始しましょう。 自分のユーザアカウントや自分がリポジトリの作成権限を持つOrganizationに、任意のパブリックリポジトリをフォークできます。 詳細は「Organization の権限レベル」を参照してください。
自分のユーザアカウントや自分がリポジトリの作成権限を持つGitHub TeamあるいはGitHub Enterprise上のOrganizationに、あなたがアクセスできる任意のプライベートリポジトリをフォークできます。 詳しい情報については「GitHubの製品」を参照してください。
Explore を閲覧して、プロジェクトを探してオープンソースのリポジトリへのコントリビューションを開始できます。 For more information, see "Finding ways to contribute to open source on GitHub."
おめでとうございます
リポジトリをフォークし、フォークのクローンを練習し、上流リポジトリを構成しました。 次に何をしたいですか?
- Git をセットアップする
- 「リポジトリを作成する」
- 交流する
- GitHub コミュニティフォーラムで世界中の人々とつながってください。