フォークについて
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 Enterprise Serverインスタンス に関する Organization の開発作業にオープンソースの原則を適用する方法の詳細については、GitHub のホワイトペーパー「インナーソース入門」を参照してく� さい。
他のユーザのプロジェクトのフォークからパブリックリポジトリを作成する際は、プロジェクトの他者との共有方法を定義するライセンスファイルを必ず含めてく� さい。 詳しい情� �については、choosealicense.com の「オープンソースのライセンスを選択する」を参照してく� さい。
オープンソースに関する詳しい情� �、特にオープンソースプロジェクトの立ち上げと成長させる方法について、Open Source Guidesを作成しました。これは、オープンソースプロジェクトのためのリポジトリの作成と管理にに関するベストプラクティスを推奨することによって、健全なオープンソースコミュニティの育成を支援しようとするものです。 オープンソースコミュニティの管理に関する無料のGitHubスキルコースを利用することもできます。
必要な環境
If you have not yet, you should first set up Git. Git からの GitHub Enterprise Serverインスタンス への認証を設定することも忘れないでく� さい。
リポジトリをフォークする
上流または元のリポジトリへの変更を提案するために、プロジェクトをフォークする� �合があります。 この� �合、自分のフォークを上流のリポジトリと定期的に同期させるとよいでしょう。 これには、コマンドラインで Git を使用する必要があります。 先程フォークした同じ octocat/Spoon-Knife リポジトリを使用して、上流リポジトリの設定を練習できます。
- On GitHub Enterprise Serverインスタンス, navigate to the octocat/Spoon-Knife repository.
- ページの右上にある [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.
-
On GitHub Enterprise Serverインスタンス, navigate to your fork of the Spoon-Knife repository.
-
ファイルのリストの上にある Code(コード)をクリックしてく� さい。
-
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 .
-
ターミナルターミナルGit Bashを開いてく� さい。
-
カレントワーキングディレクトリを、ディレクトリをクローンしたい� �所に変更します。
-
git clone
と入力し、前の手� �でコピーした URL を貼り付けます。 次のようになるはずです (YOUR-USERNAME
はあなたの GitHub Enterprise Server ユーザ名に置き換えてく� さい):$ git clone https://hostname/YOUR-USERNAME/Spoon-Knife
-
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
-
Fileメニューで、Clone Repository(リポジトリのクローン)をクリックしてく� さい。
-
クローンしたいリポジトリの� �所に対応するタブをクリックしてく� さい。 URLをクリックし、リポジトリの� �所を入力することもできます。
-
クローンしたいリポジトリをリストから選択します。
-
Choose...(選択...)をクリックし、リポジトリをクローンしたいローカルのパスに移動してく� さい。
-
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.
-
On GitHub Enterprise Serverインスタンス, navigate to the octocat/Spoon-Knife repository.
-
ファイルのリストの上にある Code(コード)をクリックしてく� さい。
-
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 .
-
ターミナルターミナルGit Bashを開いてく� さい。
-
Change directories to the location of the fork you cloned.
- ホー� ディレクトリに移動するには、
cd
と� け入力します。 - 現在のディレクトリのファイルとフォルダを一覧表示するには、
ls
と入力します。 - 一覧表示されたディレクトリのいずれかにアクセスするには、
cd your_listed_directory
と入力します。 - 1 つ上のディレクトリに移動するには、
cd ..
と入力します。
- ホー� ディレクトリに移動するには、
-
git remote -v
と入力して Enter キーを押します。 You will see the current configured remote repository for your fork.$ git remote -v > origin https://hostname/YOUR_USERNAME/YOUR_FORK.git (fetch) > origin https://hostname/YOUR_USERNAME/YOUR_FORK.git (push)
-
Type
git remote add upstream
, and then paste the URL you copied in Step 3 and press Enter. 次のようになります:$ git remote add upstream https://hostname/ORIGINAL_OWNER/Spoon-Knife.git
-
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://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 コマンドでフォークと上流リポジトリの同期を維持できます。 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 Enterprise Serverインスタンス where you have repository creation permissions.
次のステップ
リポジトリをフォークし、フォークのクローンを練習し、上流リポジトリを構成しました。
-
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 Server. For more information, see "Be social."
-
GitHubには� 晴らしいサポートコミュニティがあり、助けを求め、世界中の人々と話すことができます。 Join the conversation on GitHub Support Community.