[GitHub]Gitの仕組みやコマンドの意味はよくわからないけど、GitHubでの学習記録をとりあえず始めておきたい

# はじめに
「エンジニア転職に向けて、学習記録を GitHub で管理しておくと、面接のときにもアピールになる」と聞いた！

でも、 GitHub も Git もよくわからないし、今は優先してじっくり学習してる余裕もないし。

…でもやっぱり、せっかく学習進めているんだから、 GitHub での学習記録はすぐにでも始めておきたいんだけどなぁ。

:::note
そんな過去の自分が知りたかった、 GitHub でエンジニアの学習記録を（Git の理解は後回しにして）とりあえず始める方法を、できるだけ少ないステップでまとめてみました。
:::

※ 私はサーバーサイド学習中の実務未経験者で、最近、 Udemy の [Git： もう怖くないGit！チーム開発で必要なGitを完全マスター](https://www.udemy.com/course/unscared_git/) のおかげで、もう怖くない Git！な状態になったばかりです。（超おすすめです）

https://www.udemy.com/course/unscared_git/

順調に GitHub に草を生やし始めています :relaxed:
![スクリーンショット 2020-10-10 3.43.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527226/7bf3648a-03f9-718a-dfef-8cf00b9f2a88.png)

## この記事のとりあえずのゴール
- とりあえず、学習記録（コードを書いたファイルやディレクトリ）を GitHub で初めて変更履歴を管理する
- とりあえず、その後の学習記録の進捗（ファイルやコードの変更履歴）を GitHub へ記録できる

※ ステージやコミットなどの主要な用語の説明も思いっきり省略させていただくので、この記事を読んでも Git の仕組みについてはわかるようにはならないです :lemon:

※ 記事のとおりやってもできない等あれば、教えていただけると嬉しいです。

## 前提
- パソコンは Mac
- Git のダウンロード（GitはデフォルトでMacには入っている） 
- ターミナルでのコマンド操作（ディレクトリの移動ができる）
- GitHub にプッシュしたことがない

# 0. GitHub のアカウント登録

GitHub のアカウント未登録の方は、アカウント登録します。（無料です）

## 0-1. GitHub のページへアクセス

GitHub のページへアクセスして、アカウント登録します。

https://github.com/

## 0-2. Git の初期設定

アカウント登録したら、 GitHub で登録した **ユーザー名** と **メールアドレス** を、 PC のターミナルで `git config` コマンドを実行して、設定します。

```zsh:ターミナル
# ユーザー名を設定（" "内は自分の user.name に置き換える）
$ git config --global user.name "github user name"

# メールアドレスを設定（GitHubで設定した自分の user.email に置き換える）
$ git config --global user.email github@example.com
```

# 1. ターミナルでの手順

まずは、ターミナルでの手順です。

## 1-1. 学習を記録したいディレクトリへの移動
学習を記録したいディレクトリに移動します。

```zsh:ターミナル（例）
$ cd ~/Developer/test
```

## 1-2. `git init` コマンドの実行（.git ディレクトリの作成）

`git init` コマンドを実行して、 **.git** ディレクトリを作成します。

```zsh:ターミナル
$ git init
```
※ **.git** ディレクトリ ができた階層と、それより下のディレクトリやファイルの変更履歴が管理されます

## 1-3. `git add` コマンドの実行（ステージへの追加）

`git add` コマンドを実行して、ステージに追加します。

```shell:ターミナル
$ git add .
```

## 1-4. `git commit` コマンド実行（コミット）

`git commit` コマンドを実行して、コミットします。

```shell:ターミナル
$ git commit -m "コミットメッセージ"
```
※ コミットメッセージ は、変更内容の説明を書きます

# 2. GitHub ページでの手順

続いて、 GitHub ページでの手順です。

## 2-1. GitHub 上でのリポジトリ作成

GitHub 上で リポジトリ を作成します。
※ リポジトリ とは、履歴データの保管場所のこと

- GitHub を開く → **Your profile** へ移動する

- **Repositories** をクリックする → **New** をクリックする
![スクリーンショット 2022-12-11 8.09.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527226/b1f73150-3975-c21d-af5f-c310f9a9d81e.png)

- **Repository name** を入力する → **Create repository** をクリックする
![FireShot Capture 001 - Create a New Repository - github.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527226/d9d34a34-1075-dbb4-7d30-6afac543e786.png)

:::note warn
動画教材のハンズオンなどのソースコードは講義の一部である場合は、 Private リポジトリで限定公開にします。
:::

- **HTTPS** を選択する → 「…or push an existing repository from the command line」のコマンドをコピーする
![スクリーンショット 2022-12-11 8.10.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527226/11d0b5ae-0e91-b405-fd87-99922f4c52b7.png)

# 3. ターミナルに戻っての手順

## 3-1. GitHub でコピーしたコマンドの実行

GitHub でコピーしたコマンドを、ターミナルに貼り付けて実行します。

```shell:ターミナル
$ git remote add origin https://github.com/（ユーザー名）/（リポジトリ名）
$ git branch -M main
$ git push -u origin main
```

### 初めて git push する際、 GitHub のユーザー名、パスワードを聞かれたら（2022/12/12追記）
パスワードは、下記の手順で発行した personal access token を入力します。

https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

参考記事

https://qiita.com/ryamate/items/53b392b9bc6540f7f4c7

## 3-2. GitHub に反映されたかの確認

GitHubに変更履歴を送信できていれば、リロードする（`Ctrl` + `R`）と内容が表示されます。
![スクリーンショット 2022-12-11 8.18.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527226/60fae8dd-8bd2-a058-d474-099f0975b310.png)

以上で、とりあえず、学習記録（コードを書いたファイルやディレクトリ）を GitHub に載せられました！

---

# その後…日々の学習記録の GitHub への記録方法

**下記の３つのコマンドで、学習記録をGitHubでの変更履歴として管理できます。**

ファイルの変更履歴を残したいタイミングで、下記の３つのコマンドを実行します。

```zsh:ターミナル
# ステージに追加する
$ git add .
# コミットする（コミットメッセージには変更内容を書く）
$ git commit -m "コミットメッセージ"
# GitHubへ送信する
$ git push
```

# おわりに

いかがでしたでしょうか？
記事のとおりやってもできない等あれば、教えていただけると嬉しいです！

Git の学習時間が確保できれば、 Udemy の[Git： もう怖くないGit！チーム開発で必要なGitを完全マスター](https://www.udemy.com/course/unscared_git/)で、 Git の仕組みまで理解して、 git コマンドの実行で何が起こっているかまで理解するのがおすすめです！

https://www.udemy.com/course/unscared_git/

ありがとうございました！