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

このバージョンの GitHub Enterprise はこの日付をもって終了となります: このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-05-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

記事のバージョン: Enterprise Server 2.17

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

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.

  1. 使用している GitHub Enterprise Serverインスタンス で、octocat/Spoon-Knife リポジトリに移動します。
  2. ページの右上にある [Fork] をクリックします。
    [Fork] ボタン

フォークを同期させる

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 Enterprise Serverインスタンス への認証を設定することも忘れないでください。

ステップ 2: フォークのローカルクローンを作成する

今、Spoon-Knife リポジトリのフォークがありますが、お使いのコンピュータにはそのリポジトリ内のファイルはありません。 フォークのクローンをコンピュータにローカルで作成しましょう。

  1. GitHub Enterprise で、Spoon-Knife リポジトリの自分のフォークに移動します。

  2. リポジトリ名の下でClone or download(クローンもしくはダウンロード)をクリックしてください。

    Clone or downloadボタン

  3. HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下でをクリックしてください。 リポジトリをSSHキーを使ってクローンするには、Use SSH(SSHを利用)をクリックし、続いてをクリックしてください。

    クローンURLボタン

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

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

    $ git clone https://hostname/YOUR-USERNAME/Spoon-Knife
  6. 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.

Now, you have a local copy of your fork of the Spoon-Knife repository.

ステップ 3: Git を構成して、自分のフォークとオリジナルの Spoon-Knife リポジトリを同期させる

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

  1. GitHub Enterprise で、octocat/Spoon-Knife リポジトリに移動します。

  2. リポジトリ名の下でClone or download(クローンもしくはダウンロード)をクリックしてください。

    Clone or downloadボタン

  3. HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下でをクリックしてください。 リポジトリをSSHキーを使ってクローンするには、Use SSH(SSHを利用)をクリックし、続いてをクリックしてください。

    クローンURLボタン

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

  5. ディレクトリを、「ステップ 2: フォークのローカルクローンを作成する」でクローンしたフォークの場所に変更します。

    • ホームディレクトリに移動するには、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 コマンドでフォークと上流リポジトリの同期を維持できます。 詳細は「フォークを同期する」を参照してください。

次のステップ

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に、あなたがアクセスできる任意のプライベートリポジトリをフォークできます。

おめでとうございます

リポジトリをフォークし、フォークのクローンを練習し、上流リポジトリを構成しました。 次に何をしたいですか?

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください