GitHub の Hello World プロジェクトをやってみる


### 概要

GitHub を初めて使用する人に向けの "Hello World" プロジェクトを実際に試してみる

---

### このプロジェクトで学べること

- リポジトリの作成および使用方法
- ブランチの管理方法
- ファイルを変更して GitHub にプッシュする方法
- プルリクエストを行いマージする方法

---

### キーワード
- **リポジトリ(repository)**
- ** ブランチ(branch)**
- **コミット(commit)**
- **コミットメッセージ(commit message)**
- **プルリクエスト(pull request)**

#### Step1. リポジトリの作成

**リポジトリ(repository)**
フォルダやファイル類などプロジェクトに必要なものを保存しておく場所
*README*(プロジェクトに関する情報を記述したファイル)の作成も推奨

###### リポジトリの新規作成
1. GitHub へログイン後、画面右上の「+」をクリックし、「New repository」を選択
2. 下記の画面が表示されるので、「Repository name」に`hello-world`と入力
3. 「Description」に説明文を任意で入力
4. 「Initialize this repository with a README」にチェックを入れる※1
5. 「Create repository」ボタンをクリック
![To create a new repository](https://guides.github.com/activities/hello-world/create-new-repo.png)

※1 「Repository name」および「Description」に入力した内容が README.md ファイルとして保存される


#### Step2. ブランチの作成

**ブランチ(branch)**
現在リリースしているバージョンのメンテナンスをしながら、機能追加やバグ修正を行うような場合に、複数のバージョン管理を行うための機能

デフォルトでは `master`ブランチを持っている
`master`から別のブランチを作成するにはコピーかスナップショットをとる

![branching](https://guides.github.com/activities/hello-world/branching.png)
`master`から`future`ブランチを作成し、`future`に様々な変更を加えて`master`へマージする例

###### ブランチの新規作成

1. `hello-world`リポジトリへ移動
2. 「Branch: master」ボタンをクリック
3. テキストボックスに新しいブランチ名の`readme-edits`を入力
4. 「Create branch」ボタンをクリック

![To create a new branch](https://guides.github.com/activities/hello-world/readme-edits.gif)

これで`master`と`readme-edits`の2つのブランチを持ったことになる
今はどちらのブランチも同じ内容だが、これから新しいブランチに変更を加えていく

#### Step3. 変更とコミット

それでは`readme-edits`ブランチに対して変更を加える
GitHub では変更を保存することを**コミット(commit)**と言う
コミットには**コミットメッセージ(commit message)**という変更に対する説明文を付与する
これにより、誰が・いつ・なぜその変更をしたのかを変更履歴として把握できるようになる

###### 変更とコミットを行う
1. `README.md`ファイルをクリック
2. 右上の鉛筆アイコンをクリックして編集
3. エディターで変更内容を記入
4. コミットメッセージを下部の「Commit changes」に記入
5. 「Commit changes」ボタンをクリック

![Make and commit changes](https://guides.github.com/activities/hello-world/commit.png)

これらの変更は`readme-edits`ブランチのREADMEファイルにのみ反映される
よって`master`とは違った内容になっている

#### Step4. プルリクエスト

**プルリクエスト(pull request)**はGitHubでコラボレーションする上での中心的な機能
もし何かの変更を行い、それをレビューして欲しい場合、プルリクエストを使用することで他の人に取り込んでもらいマージしてもらうことができる
プルリクエストは変更・追加・削除した点が緑や赤で表示される
コミットしたら即座にプルリクエストおよびディスカッションを開始できる
また、Github の`@mention system`を利用することで特定の個人やチームに対して通知を飛ばし、意見を求めることができる
それでは自分のリポジトリにプルリクエストを行いマージしてみよう

###### READMEに対するプルリクエストを行う

1. 「Pull requests」タブをクリックし、右側の「New pull request」ボタンをクリック
2. base:`master`のまま、compare:`readme-edits`を選択
3. ページ下部で変更点を見て、自分が変更したい内容か確認
4. 自分が変更したい内容絵あれば、「Create  pull request」ボタンをクリック
5. プルリクエストに題名と説明を記入し、「Create  pull request」ボタンをクリック

Tip: emojiや画像もプルリクエストのコメントに使用可能
*[EMOJI CHEAT SHEET](http://www.webpagefx.com/tools/emoji-cheat-sheet/)*

#### Step5. マージ

最後のステップとして、`readme-edits`ブランチを`master`ブランチにマージする
1. `master`へ変更をマージするため、「Merge pull request」ボタンをクリック
2. 「Confirm merge」をクリック
3. 変更が組み込まれたので、「Delete branch」をクリックしてブランチを削除する

###### やったぁ！

これでこのチュートリアルは完了
プロジェクトを作成してプルリクエストを行うことができた
ここで学んだこととは、
- オープンソースリポジトリの作成
- 新しいブランチの作成と管理
- ファイルの編集と GitHub へのコミット
- プルリクエストによるマージ

GitHub のプロファイルから自分の Contribution を見てみよう

もっとプルリクエストを学びたい場合は[GitHub Flow Guide](https://guides.github.com/introduction/flow/)を読んでみよう
また、オープンソースプロジェクトに参加した場合は[GitHub Explore](https://github.com/explore)にも行ってみるとよい

Tip: 他にも、[Guides](https://guides.github.com/), [YouTube Channel](https://www.youtube.com/githubguides)や[On-Demand Traning](https://services.github.com/on-demand/)もチェックしてみる良い