GitHubの使い方(Gitリポジトリ作成〜リモートリポジトリ反映まで)

#概要
先日、GitHubの学習を行い、実際に自身でGitHubを使用して、Gitリポジトリ作成〜リモートリポジトリ反映まで行ったので、その流れについてまとめてみました。
GitHubを初めて使う方、使ったことはあるけど完全に理解ができていない方向けの内容になっております。

##目次
- 事前知識
- Gitリポジトリを作成する
- ステージングに情報を追加する
- ローカルリポジトリに情報を追加する
- GitHubアカウントを作成する
- リモートリポジトリに情報を追加する
- まとめ

##事前知識
>GitHubとは、Gitのリモートリポジトリとして使えるWebサービスのことです。
Gitとは、バージョン管理システムと呼ばれるツールの一つです。
バージョン管理システムとは、ファイルのこれまでの変更を管理できるツールのことを指します。

Gitリポジトリは、大きく分けると以下のような構成になっています。

|      |         ①        |      ②      |      ③      |      ④      |
|:-----|:----------------- |:------------|:-------------|:-------------|
| 領域 | Working directory | Staging area |  Repository  |  Repository  |

①Working directory(作業ディレクトリ)
ファイルの作成、変更を行う場所


②Staging area(ステージング)
ローカルリポジトリに記録するファイルを集める場所

③Repository(ローカルリポジトリ)
ステージングにある変更ファイルを記録する場所

④Repository(リモートリポジトリ)
ローカルリポジトリの情報を外部でも記録する場所

GitHub(リモートリポジトリ)を使用するには、①→②→③→④の順に、情報を追加していく必要があります。
言葉だけでは難しいと思うので、実際に一つずつやっていきましょう。

##Gitリポジトリを作成する
はじめに、Gitを使用する為に、下記のURLに沿ってGitのインストールを行います。

[Gitインストール方法](https://git-scm.com/book/ja/v2/%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B-Git%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)

インストールを行い、下記のコマンドを実行して、バージョンが表示されれば、インストール完了です。

```
$ git --version
```

次に、情報を追加していく準備をする為に、Gitレポジトリを作成します。
Gitレポジトリを作成したい、ディレクトリで下記のコマンドを実行します。

```
$ git init
```

これを実行したことにより、内部的にステージング、ローカルリポジトリが作成されました。

##ステージングに情報を追加する
変更履歴に残したいファイルをステージングに追加しましょう。
Gitレポジトリを作成した、ディレクトリで下記のコマンドを実行します。

```
$ git add ファイル名
```

これを実行したことにより、作業ディレクトリからステージングに情報を追加することができました。
それでは、本当にステージングに情報を追加することができたのか確認してみましょう。
下記のコマンドを実行します。

```
$ git status
```

こちらのコマンドは、ファイルがステージングに追加されているかの確認を行うために使います。
こちらを実行して、表示されたファイル名が緑色で表示されていたら、ステージングに情報を追加することができています。
反対に、赤色で表示されていればステージングに情報を追加することができていません。

>*予備知識*
ファイル名を指定してステージングに追加したい場合
・ 1つだけ追加 : $ git add ファイル名
・ 複数追加 : $ git add ファイル名1 ファイル名2
現在いるディレクトリ以下全てのファイルを追加したい場合
・ $ git add .　(「.」が現在のディレクトリを表している)
 
##ローカルリポジトリに情報を追加する
ステージングに追加したファイルをローカルリポジトリに記録しましょう。
下記のコマンドを実行します。

```
$ git commit -m "コミット名"
```

これを実行したことにより、ローカルリポジトリにステージングに追加したファイルを記録することができました。
こちらも、しっかりとローカルリポジトリにファイルを移すことができたのか確認してみましょう。
先程も使用した、下記のコマンドを実行します。

```
$ git status
```

緑色で表示されていたファイルがなくなっていたら、ローカルリポジトリへのファイル移動は完了です。
また、下記のコマンドを実行することで、過去のコミット履歴を確認することができます。

```
$ git log
```

過去行った、コミット名,コミット履歴を確認することができます。

>*補足*
・ステージングに追加されるのは、前回のコミットから変更のあったファイルのみ追加される。
つまり、前回のコミットから全く変更のないファイルは「git add」をしてもステージングに追加されない。

##GitHubアカウントを作成する
リモートリポジトリを使用する為に、下記のURLからGitHubのアカウントを作成しましょう。(無料プランで問題ありません)

[GitHubアカウント作成](https://github.co.jp/)

GitHubに自身のアカウントでログインできたら、登録完了です。



##リモートリポジトリに情報を追加する

GitHubアカウントの作成が完了したので、リモートリポジトリを作成しましょう。
下記のURLに沿ってリモートリポジトリを作成しましょう。

[リモートリポジトリ作成方法](https://docs.github.com/ja/github/getting-started-with-github/create-a-repo)

自身のGitHubアカウントのレポジトリ一覧にレポジトリが表示されていればリモートリポジトリを作成完了です。
それでは、下記のコマンドを実行して、ローカルリポジトリとリモートリポジトリの紐付けを行います。

```
$ git remote add origin リモートリポジトリURL
```

これで、ローカルリポジトリとリモートリポジトリの紐付けができました。
下記のコマンドで、紐付けが正しくされているか、確認してみましょう。

```
$ git remote -v
```
自身のリモートリポジトリURLが表示されれば成功です。
紐付けが確認できたので、ローカルリポジトリをリモートリポジトリにアップしてみましょう。
下記のコマンドを実行しましょう。(ブランチ名は「master」が一般的です)

```
$ git push -u origin ブランチ名
```

Username,Passwordを要求されることがあるので、必要に応じて入力しましょう。(Passwordはタイピングしても画面に表示されないが、裏でタイピングされています)
プッシュコマンド実行後はGitHubのリポジトリを再読み込みして正しくプッシュされているか確認しましょう。
ローカルリポジトリにコミットしたファイルがリモートリポジトリに反映されていればプッシュ完了です.

###最後に...
今回は、Gitリポジトリを作成して、リモートリポジトリ反映まで行いました。

最後まで、読んでいただきありがとうございました。