GitHubで最初のプルリクエストを行う方法

フォークとは何ですか?

誰かのリポジトリが大好きで、それをGitHubアカウントに入れたい場合は、個別に操作できるようにフォークします。

リポジトリをフォークすると、そのリポジトリ全体のインスタンスとその履歴全体が取得されます。フォークした後は、元のバージョンに影響を与えることなく、やりたいことが何でもできます。

プルリクエストとは何ですか?

プルリクエストは、グループプロジェクトまたはオープンソースプロジェクトに貢献する方法です。

たとえば、ユーザーHarryがThanoshanMVのリポジトリをフォークし、そのリポジトリに変更を加えます。これで、ハリーはThanoshanMVにプルリクエストを送信できますが、それを受け入れるか拒否するかはThanoshanMV次第です。「ThanoshanMV、私の変更を引っ張ってくれませんか?」と言っているようなものです。

貢献することの意味

コードを使用してオープンソースプロジェクトに貢献できるだけでなく、他の多くの方法でも貢献できます。これらの方法のいくつかを以下に説明します。

99xtechnology IT企業のハックティチュード開始ガイドにあるように、私たちは次の方法でオープンソースプロジェクトに貢献することができます。

  1. 設計:プロジェクトのレイアウトを作成して、使いやすさを向上させ、ユーザー調査プログラムに基づいてプロジェクトのナビゲーションとメニューを改善し、ロゴやTシャツのアートを作成し、プロジェクトのスタイルガイドを提供できます。
  2. 執筆:プロジェクトのドキュメントを作成および改善したり、ドキュメントを翻訳したり、プロジェクトのニュースレターを開始したり、プロジェクトのチュートリアルを作成してメーリングリストからハイライトをキュレートしたり、プロジェクトの使用方法を示す例のフォルダーをキュレートしたりできます。
  3. 整理:重複する問題をリンクしたり、新しい問題ラベルを提案したり、古い未解決の問題を閉じることを提案したり、最近開いた問題について質問したりして、ディスカッションを進めることができます。
  4. 他の人を助ける:未解決の問題に関する質問に答え、他の人の提出物のコードを確認し、別の寄稿者を指導することを申し出ます。
  5. コーディング:未解決の問題の解決を支援し、新しい機能を提供してツールとテストを改善できるかどうかを尋ねます。

最初のプルリクエストを作成しましょう!

Git&GitHubにあまり詳しくない場合は、Git&GitHubの初心者向けガイドを確認してください。

1.リポジトリをフォークします

ページ上部のフォークボタンをクリックして、リポジトリをフォークします。これにより、アカウントにそのリポジトリ全体のインスタンスが作成されます。

2.リポジトリのクローンを作成します

リポジトリがアカウントに追加されたら、それをマシンに複製してローカルで操作します。

クローンを作成するには、クローンボタンをクリックしてリンクをコピーします。

ターミナルを開き、次のコマンドを実行します。リポジトリのクローンをローカルに作成します。

$ git clone [HTTPS ADDRESS]

これで、メインのオンラインプロジェクトリポジトリからmasterブランチのコピーを設定しました。

次のコマンドを実行して、そのクローンディレクトリに移動する必要があります。

$ cd [NAME OF REPOSITORY]

3.ブランチを作成します

小さなプロジェクトであろうとグループの作業に貢献していようと、リポジトリを操作するときは新しいブランチを作成することをお勧めします。

ブランチ名は短く、現在行っている作業を反映している必要があります。

次に、git checkout次のコマンドを使用してブランチを作成します。

$ git checkout -b [Branch Name]

4.変更を加えてコミットします

プロジェクトに重要な変更を加えて保存します。

次に、を実行するgit statusと、変更が表示されます。

git add次のコマンドを使用して、作成したブランチにこれらの変更を追加します。

$ git add .

次に、git commit次のコマンドを使用してこれらの変更をコミットします。

$ git commit -m "Adding an article to week 02 of articles of the week"

5.変更をGitHubにプッシュします

変更をGitHubにプッシュするには、リモートの名前を識別する必要があります。

$ git remote

このリポジトリの場合、リモートの名前は「origin」です。

リモートの名前を特定したら、それらの変更をGitHubに安全にプッシュできます。

git push origin [Branch Name]

6.プルリクエストを作成します

GitHubのリポジトリに移動すると、[比較してリクエストをプルする]ボタンが表示され、クリックします。

行ったことについて必要な詳細を入力してください(「#」を使用して問題を参照できます)。次に、プルリクエストを送信します。

おめでとう!最初のプルリクエストを行いました。  

プルリクエストが承認されると、メールが届きます。

7.フォークされたマスターブランチを同期します

元のリポジトリにプルリクエストを送信する前に、リポジトリを元のリポジトリに同期する必要があります。

元のリポジトリにプルリクエストを送信しない場合でも、元のリポジトリをフォークしてからいくつかの追加機能やバグ修正が行われた可能性があるため、元のリポジトリと同期することをお勧めします。

これらの変更をマスターブランチに更新/同期するには、次の手順に従います。

  1. まず、現在のブランチを確認します。
$ git branch

すべてのブランチが一覧表示され、現在またはアクティブなブランチが緑色で示されます。

2.マスターブランチに切り替えます。

$ git checkout master

3.元のリポジトリをアップストリームリポジトリとして追加します。

元のリポジトリからフォークされたバージョンに変更をプルするには、元のGitリポジトリをアップストリームリポジトリとして追加する必要があります。

$ git remote add upstream [HTTPS]

ここで、[HTTPS]は、所有者のリポジトリからコピーする必要のあるURLです。

4.リポジトリをフェッチします。

元のリポジトリからすべての変更を取得します。元のリポジトリへのコミットは、upstream / masterと呼ばれるローカルブランチに保存されます。

$ git fetch upstream

5.それをマージします。

アップストリーム/マスターからの変更をローカルマスターブランチにマージします。これにより、ローカルの変更を失うことなく、フォークのマスターブランチがアップストリームリポジトリと同期されます。

$ git merge upstream/master

6.変更をGitHubにプッシュします

この時点で、ローカルブランチは元のリポジトリのマスターブランチに同期されます。GitHubリポジトリを更新する場合は、変更をプッシュする必要があります。

$ git push origin master

注:フォークされたマスターブランチを同期した後、必要に応じてそのリモートを削除できます。ただし、将来的にもリポジトリを更新/同期する必要があるため、リポジトリを保持することをお勧めします。

$ git remote rm [Remote Name]

8.不要なブランチを削除します

ブランチは特別な目的のために作成されます。その目的が達成されると、それらのブランチは不要になるため、削除できます。

$ git branch -d [Branch Name]

GitHubでそのバージョンを削除することもできます。

git push origin --delete [Branch Name]

結論

GitHubは、バージョン履歴を制御するための強力なツールです。プルリクエストを行うことで、誰もがオープンソースプロジェクトに貢献できます。貢献は必ずしもコードではありません–貢献する他の方法もあります。

最後に、プルリクエストが拒否されても心配する必要はありません。メンテナはプロジェクトの改善に多くの時間を費やし、私たちよりもプロジェクトについて多くのことを知っています。したがって、リクエストがマージされなくても心配する必要はありません。

強く、前向きに、そして決してあきらめないでください。

―ロイ・T・ベネット、心の中の光

この記事はもともとMediumに投稿されました。

Twitterで私に連絡して連絡することができます。

オープンソースの世界に貢献し続けてください!