{"meta":{"title":"プロジェクトに貢献する","intro":"フォークを通じてプロジェクトに貢献する方法について説明します。","product":"概要","breadcrumbs":[{"href":"/ja/get-started","title":"概要"},{"href":"/ja/get-started/exploring-projects-on-github","title":"プロジェクトを探索する"},{"href":"/ja/get-started/exploring-projects-on-github/contributing-to-a-project","title":"プロジェクトに貢献する"}],"documentType":"article"},"body":"# プロジェクトに貢献する\n\nフォークを通じてプロジェクトに貢献する方法について説明します。\n\nGitHubでのプロジェクトへの貢献は、開発者とコラボレーターが協力して共有目標を達成するために不可欠なスキルです。 バグの修正、機能の追加、ドキュメントの改善のいずれであっても、コントリビューションのプロセスにより、組織化された効率的なコラボレーションが保証されます。\n\nリポジトリのフォーク、ブランチの作成、pull request の送信の GitHub フローに従うことで、プロジェクトに変更を提案し、他のユーザーの作業を中断することなくフィードバックを得ることができます。\n\nこのガイドでは、GitHub UI とコマンド ラインを使用してプロジェクトに貢献する方法について説明します。 GitHub Desktop での投稿の詳細については、「[GitHub Desktopからのリポジトリのクローンとフォーク](/ja/desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop)」を参照してください。 GitHub CLI (コマンド ライン インターフェイス) と同じ方法については、[GitHub CLI のクイック スタート](/ja/github-cli/github-cli/quickstart) を参照してください。\n\n## フォークについて\n\n他のユーザーのプロジェクトに貢献したいけれども、直接変更するアクセス許可がない場合は、プロジェクトの独自のコピーを作成し、更新を行ってから、それらの更新をメイン プロジェクトに含めることを提案できます。 このプロセスは、\"フォークと pull request\" ワークフローと呼ばれることがよくあります。\n\nプロジェクトの独自のコピー (つまり \"フォーク\") を作成するのは、元のプロジェクトとコードを共有する新しいワークスペースを作成するようなものです。 これは、オープンソース プロジェクトの場合や、元のプロジェクトへの書き込みアクセス権を持っていない場合に役に立ちます。\n\n自分のコピーで変更を行った後、それを pull request として送信できます。これは、変更をメイン プロジェクトに戻すことを提案する方法です。 詳しくは、「[リポジトリをフォークする](/ja/pull-requests/how-tos/work-with-forks/fork-a-repo)」をご覧ください。\n\n## プロジェクトの独自コピーの作成\n\nこのチュートリアルでは [、フォーク](https://github.com/octocat/Spoon-Knife)とプル要求のワークフローをテストできる GitHub でホストされているテスト リポジトリである Spoon-Knife プロジェクトを使用します。\n\n1. `Spoon-Knife` にある <https://github.com/octocat/Spoon-Knife> プロジェクトに移動します。\n2. ページの右上隅の **\\[フォーク]** を選択します。\n\n   ![リポジトリの main ページのスクリーンショット。 フォーク アイコンと \"フォーク 59.3k\" のラベルが付いたボタンが濃いオレンジの枠線で囲まれています。](/assets/images/help/repository/fork-button.png)\n3. \\[所有者] の下のドロップダウン メニューを選び、フォークされたリポジトリの所有者をクリックします。\n   > \\[!NOTE] ユーザー名が淡色表示になっている場合、フォークが既に存在します。 その代わりに、既存のフォークを最新の状態にする必要があります。 詳しくは、「[フォークを同期する](/ja/pull-requests/how-tos/work-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-web-ui)」をご覧ください。\n4. 既定では、フォークの名前はその上流リポジトリと同じです。 必要に応じて、\\[リポジトリ名] フィールドに名前を入力すると、フォークをさらに区別できます。\n5. 必要に応じて、\\[説明] フィールドにフォークの説明を入力します。\n6. 必要に応じて、 **\\[DEFAULT ブランチのみをコピーする]** を選びます。\n\n   オープンソース プロジェクトへのコントリビューションなど、多くのフォーク シナリオでは、既定のブランチのみをコピーする必要があります。 このオプションを選ばないと、すべてのブランチが新しいフォークにコピーされます。\n7. **\\[フォークの作成]** をクリックします。\n\n> \\[!NOTE]\n> 上流リポジトリから追加のブランチをコピーする場合は、**\\[Branches]** ページから行うことができます。 詳しくは、「[リポジトリ内のブランチの管理](/ja/pull-requests/how-tos/commit-changes/managing-branches-within-your-repository)」をご覧ください。\n\n## コンピューターにフォークをクローンする\n\nSpoon-Knife リポジトリは正常にフォークされましたが、これまでは GitHubにのみ存在します。 プロジェクトで作業できるようにするには、コンピューターに複製する必要があります。\n\nフォークは、コマンド ライン、 GitHub CLI、または GitHub Desktopで複製できます。\n\n1. GitHubで、Spoon-Knife リポジトリの**あなたのフォーク**に移動します。\n\n2. ファイル一覧の上にある **\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code\" aria-label=\"code\" role=\"img\"><path d=\"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"></path></svg> Code]** をクリックします。\n\n   ![リポジトリのランディング ページのファイル リストのスクリーンショット。 \\[コード\\] ボタンが濃いオレンジ色の枠線で囲まれています。](/assets/images/help/repository/code-button.png)\n\n3. リポジトリの URL をコピーします。\n\n   * HTTPS を使用してリポジトリを複製するには、\"HTTPS\" の下にある <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-copy\" aria-label=\"copy icon\" role=\"img\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path></svg> をクリックします。\n   * Organization の SSH 認証機関から発行された証明書などの SSH キーを使ってリポジトリをクローンするには、 **\\[SSH]** 、<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-copy\" aria-label=\"Copy to clipboard\" role=\"img\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path></svg> の順にクリックします。\n   * GitHub CLI を使ってリポジトリをクローンするには、 **\\[GitHub CLI]** をクリックしてから、<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-copy\" aria-label=\"Copy to clipboard\" role=\"img\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path></svg> をクリックします。\n\n     ![\\[コード\\] ドロップダウン メニューのスクリーンショット。 リポジトリの HTTPS URL の右側に、コピー アイコンが濃いオレンジ色の枠線で囲まれています。](/assets/images/help/repository/https-url-clone-cli.png)\n\n4. Mac または Linux では、ターミナルを開きます。 Windowsで Git Bash を開きます。\n\n5. カレントワーキングディレクトリを、ディレクトリをクローンしたい場所に変更します。\n\n6. 「 `git clone`」と入力し、先ほどコピーした URL を貼り付けます。\n   GitHubではなく、`YOUR-USERNAME`ユーザー名を使用すると、次のようになります。\n\n   ```shell\n   git clone https://github.com/YOUR-USERNAME/Spoon-Knife\n   ```\n\n7. **Enter** キーを押します。 これで、ローカルにクローンが作成されます。\n\n   ```shell\n   $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife\n   > Cloning into `Spoon-Knife`...\n   > remote: Counting objects: 10, done.\n   > remote: Compressing objects: 100% (8/8), done.\n   > remove: Total 10 (delta 1), reused 10 (delta 1)\n   > Unpacking objects: 100% (10/10), done.\n   ```\n\n## 作業のためのブランチの作成\n\nプロジェクトに変更を加える前に、新しいブランチを作成してチェックアウトする必要があります。独自のブランチに変更を保持することで、 GitHub フローに従い、将来同じプロジェクトに再び貢献しやすくなります。 「[GitHub フロー](/ja/get-started/using-github/github-flow#following-github-flow)」を参照してください。\n\n```shell\ngit branch BRANCH-NAME\ngit checkout BRANCH-NAME\n```\n\n## 変更の作成とプッシュ\n\n[\nVisual Studio Code\n](https://code.visualstudio.com)など、お気に入りのテキスト エディターを使用してプロジェクトにいくつかの変更を加えます。 たとえば、 `index.html` のテキストを変更して、 GitHub ユーザー名を追加できます。\n\n変更を送信する準備ができたら、変更をステージングしてコミットします。\n`git add .` は、次のコミットにすべての変更を含める必要があることを Git に指示します。\n`git commit` は、これらの変更のスナップショットを取得します。\n\n```shell\ngit add .\ngit commit -m \"a short description of the change\"\n```\n\nファイルをステージングしてコミットするときは、基本的に、\"変更のスナップショットを作成してください\" と Git に指示します。 引き続き変更を行って、コミットのスナップショットをさらに多く作成できます。\n\n現時点では、変更はローカルにのみ存在します。 変更を GitHubにプッシュする準備ができたら、変更をリモートにプッシュします。\n\n```shell\ngit push\n```\n\n## pull request の作成\n\nPull request の作成は、他のユーザーのプロジェクトのフォークを生成する最後のステップです。 有益な変更を行い、元のリポジトリにそれを提案したい場合は、メンテナがレビューするための pull request を作成します。\n\nこれを行うには、プロジェクトが存在する GitHub 上のリポジトリに移動します。 この例では、`https://github.com/<your_username>/Spoon-Knife` です。 自分のブランチが `octocat:main` よりも 1 コミット分進んでいることを示すバナーが表示されます。\n**\\[貢献]** をクリックし、 **\\[Open a pull request]\\(pull request を開く)** をクリックします。\n\nGitHub をクリックすると、あなたのフォークと `octocat/Spoon-Knife` リポジトリの違いを示すページに移動します。\n**\\[Pull request の作成]** をクリックします。\n\nGitHub では、タイトルと変更の説明を入力できるページが表示されます。 そもそもこの pull request を行う理由について、できるだけ多くの有用な情報と根拠を提供することが重要です。 プロジェクトの所有者は、変更が自分が考えるほどすべてのユーザーにとって役に立つかどうかを判断できる必要があります。 最後に、**\\[pull request の作成]** をクリックします。\n\n## プロジェクトについての理解\n\nプロジェクトを初めて使用する場合は、 Copilot を使用して、リポジトリの目的を理解し、ファイルを調べ、特定のコード行を調べることができます。\n[「AUTOTITLE」を](/ja/get-started/exploring-projects-on-github/using-github-copilot-to-explore-projects)参照してください。"}