Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

プロジェクトに貢献する

フォークを通じてプロジェクトに貢献する方法について説明します。

Who can use this feature

enterprise with managed users のメンバーは、企業の外部からリポジトリをフォークすること、または内部リポジトリをフォークすることはできません。

フォークについて

他のユーザーのプロジェクトに投稿したいが、そのリポジトリへの書き込みアクセス権がない場合は、"フォークと pull request" のワークフローを使用できます。

フォークとは、元の "上流" リポジトリとコードと可視性の設定を共有する新しいリポジトリです。 多くの場合、フォークは、上流リポジトリに再提案する前に、アイデアや変更に繰り返し取り組むために使用されます。たとえば、オープンソース プロジェクトや、ユーザーが上流リポジトリへの書き込みアクセス権を持っていない場合などです。

フォークから上流リポジトリに pull request を送信することで、投稿できます。 詳細については、「リポジトリのフォーク」を参照してください。

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

このチュートリアルでは、Spoon-Knife プロジェクト (GitHub.com でホストされているテスト リポジトリ)を使用して、フォークと pull request のワークフローをテストします。

  1. https://github.com/octocat/Spoon-KnifeSpoon-Knife プロジェクトに移動します。
  2. [フォーク] をクリックします。 [フォーク] ボタン
  3. フォークされたリポジトリの所有者を選びます。 [所有者] ドロップダウンが強調された新しいフォーク ページを作成する
  4. 既定では、フォークの名前はその上流リポジトリと同じです。 フォークの名前を変更して、さらに区別することができます。 "リポジトリ名" フィールドが強調された新しいフォーク ページを作成する
  5. 必要に応じて、リポジトリの説明を追加します。 "説明" フィールドが強調された新しいフォーク ページを作成する
  6. 既定のブランチのみをコピーするか、すべてのブランチを新しいフォークにコピーするかを選びます。 オープンソース プロジェクトへのコントリビューションなど、多くのフォーク シナリオでは、既定のブランチのみをコピーする必要があります。 既定では、既定のブランチのみがコピーされます。 既定のブランチのみをコピーするオプション
  7. [フォークの作成] をクリックします。 強調された [フォークの作成] ボタン

注: 上流リポジトリから追加のブランチをコピーする場合は、 [Branches] ページから行うことができます。 詳細については、「リポジトリ内でブランチを作成および削除する」を参照してください。

フォークの複製

Spoon-Knife リポジトリのフォークが正常に生成されましたが、現時点では GitHub Enterprise Cloud にのみ存在しています。 プロジェクトで作業できるようにするには、コンピューターに複製する必要があります。

フォークは、コマンド ライン、GitHub CLI、または GitHub Desktop を使用して複製できます。

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

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

  3. リポジトリの URL をコピーします。

    • HTTPS を使ってリポジトリをクローンするには、[HTTPS] の下の をクリックします。
    • 組織の SSH 認証局から発行された証明書を含む SSH キーを使用してリポジトリをクローンするには、 [SSH] の順にクリックします。
    • GitHub CLI を使ってリポジトリをクローンするには、 [GitHub CLI] の順にクリックします。 GitHub CLI でリポジトリをクローンするための URL をコピーするためのクリップボード アイコン 1. [ターミナル][ターミナル][Git Bash] を開きます。 4. カレントワーキングディレクトリを、ディレクトリをクローンしたい場所に変更します。
  4. git clone」と入力し、既にコピーした URL を貼り付けます。 次のようになるはずです。YOUR-USERNAME を自分の GitHub Enterprise Cloud のユーザー名に置き換えてください。

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
  5. 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.

GitHub CLI の詳細については、「GitHub CLI について」を参照してください。

フォークのクローンを作成するには、--clone フラグを使用します。

gh repo fork REPOSITORY --clone=true
  1. [ファイル] メニューの [リポジトリの複製] をクリックします。

    Mac アプリケーション内の [Clone] メニューオプション

    Windows アプリケーション内の [Clone] メニューオプション

    1. クローンしたいリポジトリの場所に対応するタブをクリックしてください。 **URL** をクリックして、リポジトリの場所を手動で入力することもできます。

    [Clone a repository] メニュー内の [Location] タブ

    [Clone a repository] メニュー内の [Location] タブ

    1. クローンしたいリポジトリをリストから選択します。

    リポジトリリストのクローン

    リポジトリリストのクローン

    1. **[選択]** をクリックし、リポジトリを複製するローカル パスへ移動します。

    Chooseボタン

    Chooseボタン

    1. **[複製]** をクリックします。

    Cloneボタン

    Cloneボタン

作業のためのブランチの作成

プロジェクトに変更を加える前に、新しいブランチを作成してチェックアウトする必要があります。変更を独自のブランチに保持することで、GitHub Flow に従い、今後も同じプロジェクトに貢献しやすくなります。 詳細については、「GitHub のフロー」を参照してください。

git branch BRANCH-NAME
git checkout BRANCH-NAME
git branch BRANCH-NAME
git checkout BRANCH-NAME

GitHub Desktop でブランチを作成および管理する方法の詳細については、「ブランチの管理」を参照してください。

変更の作成とプッシュ

Visual Studio Code などのお気に入りのテキスト エディターを使用して、プロジェクトにいくつかの変更を加えます。 たとえば、index.html のテキストを変更すると、GitHub ユーザー名を追加できます。

変更を送信する準備ができたら、変更をステージングしてコミットします。 git add . は、次のコミットにすべての変更を含める必要があることを Git に指示します。 git commit は、これらの変更のスナップショットを取得します。

git add .
git commit -m "a short description of the change"
git add .
git commit -m "a short description of the change"

GitHub Desktop で変更をステージングおよびコミットする方法の詳細については、「プロジェクトへの変更のコミットと確認」を参照してください。

ファイルをステージングしてコミットすると、基本的に Git に「変更のスナップショットを作成してください」と Git に指示したことになります。 引き続き変更を加え、より多くのコミットのスナップショットを作成できます。

現時点では、変更はローカルにのみ存在します。 変更を GitHub Enterprise Cloud にプッシュする準備ができたら、変更をリモートにプッシュします。

git push
git push

GitHub Desktop で変更をプッシュする方法の詳細については、「変更を GitHub にプッシュする」を参照してください。

pull request の作成

やっと、メイン プロジェクトに変更を提案する準備ができました。 これは、他の誰かのプロジェクトのフォークを生成する最後のステップであり、間違いなく最も重要です。 コミュニティ全体に利益をもたらすと感じる変更を加えた場合は、ぜひ貢献することを検討してください。

そのためには、プロジェクトが存在する GitHub Enterprise Cloud のリポジトリに進みます。 この例では、https://github.com/<your_username>/Spoon-Knife です。 自分のブランチが octocat:main よりも 1 コミット分進んでいることを示すバナーが表示されます。 [貢献] をクリックし、 [Open a pull request](pull request を開く) をクリックします。

GitHub Enterprise Cloud を使用すると、フォークと octocat/Spoon-Knife リポジトリの違いを示すページが表示されます。 [pull request の作成] をクリックします。

GitHub Enterprise Cloud を使用すると、タイトルと変更の説明を入力できるページが表示されます。 そもそもこの pull request を行う理由について、できるだけ多くの有用な情報と根拠を提供することが重要です。 プロジェクトの所有者は、変更が自分が考えるほどすべてのユーザーにとって役に立つかどうかを判断できる必要があります。 [pull request の作成] をクリックします。

フィードバックの管理

pull request は検討の対象となります。 この場合、Octocat は非常にビジーであり、おそらく変更をマージしません。 他のプロジェクトで、プロジェクト所有者が pull request を拒否した場合や、リクエストが行われた理由の詳細を求めても、気を悪くしないでください。 プロジェクトの所有者が pull request をマージしないことを選択したとしても、まったく問題ありません。 行った変更はフォーク内に存在しています。 会ったことがない人が、この変更が元のプロジェクトよりもはるかに価値のあることを発見するかもしれません。

プロジェクトの検索

正常にリポジトリをフォークし、リポジトリに貢献しました。 さらに貢献を続けてください。