# Hello World

このHello World演習に従って、GitHubの pull request ワークフローについて学習します。

## はじめに

このチュートリアルでは、リポジトリ、ブランチ、コミット、pull request などの GitHub の要点について説明します。 独自のHello World リポジトリを作成し、GitHubの pull request ワークフローを学習します。これは、コードを作成してレビューする一般的な方法です。

このクイックスタート ガイドでは、次の操作を行います。

* リポジトリを作成して使用する。
* 新しいブランチを開始して管理します。
* ファイルに変更を加え、コミットとして GitHub にプッシュする
* プル リクエストを開いてマージします。

### 前提条件

* GitHub アカウントを持っている必要があります。 詳しくは、「[GitHubでのアカウントの作成](/ja/enterprise-cloud@latest/get-started/start-your-journey/creating-an-account-on-github)」を参照してください。

* コードを作成し、コマンド ラインを使用し、Git (GitHub が構築されているバージョン コントロール ソフトウェア) をインストールする方法を知る必要はありません。

## 手順 1: リポジトリを作成する

まず、リポジトリを作成します。 リポジトリは、ファイル、画像、ビデオ、その他のフォルダーなど、関連する項目を含むフォルダーであると考えることができます。 リポジトリは通常、同じ "プロジェクト" に属する項目、または作業中のものをグループ化します。

多くの場合、リポジトリには README ファイル (プロジェクトに関する情報を含むファイル) が含まれます。 Markdown で書かれた README ファイルは、プレーンテキストを書式設定するための読みやすく書きやすい言語です。 Markdown の詳細については、次のチュートリアル「[プロフィールの設定](/ja/enterprise-cloud@latest/get-started/start-your-journey/setting-up-your-profile)」を参照してください。

GitHub を使用すると、新しいリポジトリを作成するのと同時に README ファイルを追加できます。 GitHub にはライセンス ファイルなどの他の一般的なオプションも用意されていますが、現在はそれらを選択する必要はありません。

`hello-world` リポジトリは、アイデアやリソースを格納し、他のユーザーと共有し話し合う場所にすることができます。

1. ページの右上隅で <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="Create something new" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg> を選択し、 **\[新しいリポジトリ]** をクリックします。

   ![新しいアイテムを作成するオプションを示す GitHub ドロップダウン メニューのスクリーンショット。 \[新しいリポジトリ\] というメニュー項目が濃いオレンジ色の枠線で囲まれています。](/assets/images/help/repository/repo-create-global-nav-update.png)
2. \[リポジトリ名] ボックスに「`hello-world`」と入力します。
3. \[説明] ボックスに簡単な説明を入力します。 たとえば、「このリポジトリは GitHub Flow を実行するためのリポジトリです」と入力します。
4. リポジトリが **\[パブリック]** か **\[プライベート]** かを選択します。
5. **\[README ファイルを追加する]** を選択します。
6. **\[Create repository]** (リポジトリの作成) をクリックします。

## 手順 2: ブランチを作成する

ブランチを使用すると、一度に異なるバージョンのリポジトリを使用できます。

既定では、リポジトリには、決定版ブランチと見なされる `main` という名前のブランチが 1 つ存在します。 リポジトリで `main` の追加のブランチを作成できます。

ブランチは、コードのメインのソースを変更せずに新しい機能をプロジェクトに追加する場合に役立ちます。 異なるブランチで行われた作業は、マージするまでメインのブランチには表示されません。これについてはこのガイドで後ほど説明します。 ブランチを使用すると、`main` にコミットする前に実験や編集を行うことができます。

`main` ブランチからブランチを作成すると、`main` のその時点のコピー (スナップショット) が作成されます。 作業中に他のユーザーが `main` ブランチに変更を加えた場合に、それらの更新を取り込むことができます。

この図は次のことを示しています。

* `main` ブランチ
* `feature` という名前の新しいブランチ
* `feature` が、`main` にマージされる前に、"変更のコミット"、"pull request の送信"、"提案された変更のディスカッション" の各ステージを経る過程

![2 つのブランチの図。 "feature" ブランチは "main" ブランチから分岐され、その後に main にマージされます。](/assets/images/help/repository/branching.png)

### ブランチの作成

1. **コード** タブを `hello-world` リポジトリでクリックします。

2. ファイル リストの上で、**main** と表示されているドロップダウン メニューをクリックします。

   ![リポジトリ ページのスクリーンショット。 ブランチ アイコンに \[main\] のラベルの付いたドロップダウン メニューがオレンジ色の枠線で強調表示されています。](/assets/images/help/branches/branch-selection-dropdown-global-nav-update.png)

3. テキスト ボックスにブランチ名の「`readme-edits`」を入力します。

4. **\[ブランチの作成: main からの readme-edits]** をクリックします。

   ![リポジトリのブランチ ドロップダウンのスクリーンショット。 "ブランチの作成: 'main' からの readme-edits" が濃いオレンジの枠線で囲まれています。](/assets/images/help/repository/new-branch.png)

これで `main` と `readme-edits` の 2 つのブランチを作成しました。 今のところ、この 2 つはまったく同じように見えます。 次に、新しい `readme-edits` ブランチに変更を追加します。

## 手順 3: 変更を行いコミットする

前の手順で新しいブランチを作成後、GitHub を使用して新しい `readme-edits` ブランチ (`main` のコピー) のコード ページに移動しました。

リポジトリ内のファイルに変更を加えて保存できます。 GitHub では、保存された変更はコミットと呼ばれます。 各コミットには、特定の変更が行われた理由を説明するコミット メッセージが関連付けられています。 コミット メッセージでは、行ったこととその理由を他の共同作成者が理解できるように、変更内容の履歴がキャプチャされます。

1. 作成した `readme-edits` ブランチで `README.md` ファイルをクリックします。
2. <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-pencil" aria-label="Edit file" role="img"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path></svg> をクリックしてファイルを編集します。
3. エディターで簡単な自己紹介文を書きます。
4. **\[Commit changes]** をクリックします。
5. \[変更のコミット] ボックスに、変更について説明するコミット メッセージを書き込みます。
6. **\[Commit changes]** をクリックします。

これらの変更は `readme-edits` ブランチ上の README ファイルにのみ行われるため、このブランチに `main` とは異なるコンテンツが含まれるようになりました。

## 手順 4: Pull request を開く

`main` とは別のブランチに変更が加わったため、pull request を開くことができます。

pull request は、GitHub でのコラボレーションの主な機能です。 pull request を開くと、変更を提案し、誰かにコントリビューションをレビューしてプルし、ブランチにマージするよう要求できます。 pull request では、両方のブランチのコンテンツの相違点 (差分) が表示されます。 変更、追加、差分は異なる色で表示されます。

コミットしたらすぐに、コードが完成していなくても、pull request を開き、ディスカッションを開始できます。

この手順では、独自のリポジトリで pull request を開き、その後自身でマージを行います。 これは、大規模なプロジェクトの作業を行う前に GitHub フローを練習するのによい方法です。

1. **プルリクエスト**タブを`hello-world`でクリックします。

2. **\[新しい pull request]** をクリックします。

3. **\[比較例]** ボックスで、作成したブランチの `readme-edits` を選択して、`main` (元のブランチ) と比較します。

4. \[比較] ページの差分で変更内容を確認し、送信すべき内容であることを確認します。

   ![README.md ファイルの diff のスクリーンショット。 赤の 3 行には削除されるテキストが示され、緑の 3 行には追加されるテキストが示されています。](/assets/images/help/repository/diffs.png)

5. **\[Pull request の作成]** をクリックします。

6. pull request にタイトルを付け、変更内容の簡単な説明を記述します。 絵文字を含め、画像や gif をドラッグ アンド ドロップできます。

7. **\[Pull request の作成]** をクリックします。

### プルリクエストのレビュー

他のユーザーと共同作業を開始する場合は、ここでレビューを依頼します。 これにより、変更を `main` ブランチにマージする前に、コラボレーターが pull request にコメントしたり、変更を提案できます。

このチュートリアルでは pull request のレビューについては取り上げませんが、詳細については「[プルリクエストのレビューについて](/ja/enterprise-cloud@latest/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)」を参照してください。 または、[GitHub Skills](https://skills.github.com/) の "Reviewing pull requests" コースをお試しください。

## 手順 5: pull request をマージする

この最後の手順では、`readme-edits` ブランチを `main` ブランチにマージします。 pull request をマージすると、`readme-edits` ブランチの変更が `main` に組み込まれます。

場合によっては、pull request によって、`main` の既存のコードと競合するコードが変更される場合があります。 競合がある場合、GitHub は競合するコードについて警告し、競合が解決されるまでマージを禁止します。 競合を解決するコミットを行うか、pull request のコメントを使用して、チーム メンバーと競合について話し合うことができます。

このチュートリアルでは、競合は発生しないため、ブランチをメイン ブランチにマージする準備ができました。

1. pull request の下部にある **\[Pull request のマージ]** をクリックして、変更を `main` にマージします。
2. **\[マージの確認]** をクリックします。 要求が正常にマージされ、要求が閉じられたことを示すメッセージが表示されます。
3. **\[ブランチの削除]** をクリックします。 pull request がマージされ、変更が `main` に反映されたため、`readme-edits` ブランチを安全に削除できます。 プロジェクトをさらに変更する場合は、いつでも新しいブランチを作成し、このプロセスを繰り返すことができます。
4. \*\* リポジトリ\*\* の `hello-world` タブにクリックして戻り、`main` でリリースされた変更を確認します。

## まとめ

このチュートリアルを完了することで、プロジェクトを作成し、GitHub に対して pull request を行う方法を学習しました。

その一環として、次の方法を学習しました。

* リポジトリの作成。
* 新しいブランチを開始して管理します。
* ファイルの変更、および GitHub へのそれらの変更のコミット。
* プル リクエストを開いてマージします。

## 次のステップ

* GitHub プロファイルを見ると、作業内容がコントリビューション グラフに反映されていることがわかります。
* このチュートリアルで学んだスキルを再度実践したい場合は、[GitHub Skills](https://skills.github.com/) の「GitHub 入門」コースをお試しください。
* 次のチュートリアル「[プロフィールの設定](/ja/enterprise-cloud@latest/get-started/start-your-journey/setting-up-your-profile)」では、プロファイルをカスタマイズする方法について説明します。また、GitHub に書き込むための基本的な Markdown 構文についても説明します。

## 参考資料

* [GitHub フロー](/ja/enterprise-cloud@latest/get-started/using-github/github-flow)