【🔰初心者向け】Git入門 [GitHub登録→SSH接続→Cloneまで]

## はじめに
こんにちは！ITスクールRareTECHにてCS（Customer Support）を担当している池村です。今回の記事はGitを初めて触る人向けの記事です。Gitは、自身や会社で作成しているシステムやアプリのバージョン管理をしてくれるツールになります。

初心者はこのGitの概念で挫折しやすいので、一つ一つ理解していきましょう。

:::note info
この記事はMac向けになります。
2025年2月20日現在のUIをスクリーンショットしたものとなっています。
:::


## GitHubへのユーザー登録
まずは以下のリンクからユーザー登録をしましょう。

https://github.co.jp/

#### 1. GitHubに登録するボタンを押下

![名称未設定.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/1d7935c0-e5cb-4644-a26b-3c97a1cbb012.jpeg)

#### 2. ユーザー情報を入力する

![名称未設定2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/584cfc83-403e-4931-be42-d1406e9b9306.jpeg)

#### 3. メールアドレスから認証コードを受け取って入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/490c7ed8-e80e-42a5-aaa7-89e5a4d654d1.png)

:::note info
上画像のようなメールが来ているはずなので確認してください。
:::


#### 4. サインインする

右上のSign inボタンをクリックしてください。

![名称未設定3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/f70ca3b8-b2fc-4e9a-a392-dcc99c4ffa96.jpeg)

登録したメールアドレスと、パスワードを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/4cf81802-7005-4423-927d-6a1d89923a7f.png)

#### 5. ダッシュボードを確認
以下のようなページに飛べば完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/1125774d-1a32-4b0a-acbd-e681bc399efc.png)

:::note warn
英語が苦手な方、その気持ちは**とても**わかります。
でもGitHubは英語で使うことを推奨します。安易に日本語に翻訳しない方が、今後のために良いと思います。（Git周りはGitで使われる英単語を使って話が進むため）
:::


## SSH接続を完了させよう

#### 1. Settingsに移動
ダッシュボードの右上にご自身のアイコンがあるので、まずはそこをクリック。
その中にSettingsがあるので、そこをクリックして設定ページに移動します。

![名称未設定5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/9012de43-d623-4c84-b6a0-c61d651e22f5.jpeg)

#### 2. SSH and GPG keysに移動

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/833eca15-7cd2-4150-9558-46fbfa4f9426.png)

#### 3. SSHキーを作成する準備
ここからは**ご自身のターミナル上での作業**になります。
Macの方、ターミナルのアプリを開いてください。

まず開いたばかりの場所がホームディレクトリという場所です。

この辺りの知識がない方は、まずこちらの記事を参照してください。

https://qiita.com/ikemura-ren/items/0925e9fe2e5cd0b47e01?2

ではホームディレクトリに何があるか確認しましょう。
```Bash:lsコマンドを叩く
ls -a
```

上記のコマンドを叩いて、`.ssh`ディレクトリが存在しているか確認をしましょう。
もしあった場合は以下のコマンドで移動します。

```Bash:cdコマンドで移動
cd .ssh
```

**※もし.sshディレクトリがない場合**
```Bash:.sshを作ろう
mkdir .ssh && cd .ssh
```

#### 4. SSHキーを作成
SSHの公開鍵・秘密鍵を作るには、以下のコマンドを叩きます。
```Bash:鍵の作成
ssh-keygen -t ed25519 -C "<ご自身のメールアドレス>" -f ~/.ssh/my_private_key
```

現在はRSA方式ではなく、Ed25519方式を指定するのがスタンダードのようです。
- `ssh-keygen`は公開鍵と秘密鍵を作るコマンド
- `-t`は暗号化アルゴリズムの選択するオプション（色々あります）
- `-C`はコメントを入れるオプション。複数アカウントを使う時に便利
- `-f`は鍵の名前をつけるためのオプション（今回はmy_private_keyという名前にしてますが、ご自由に命名してください。わかりやすい名前を推奨します）

コマンドを叩くと、以下のようなメッセージがでます。
```Bash:Enterを2回押すだけ
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/ren/.ssh/my_private_key
Your public key has been saved in /Users/ren/.ssh/my_private_key.pub
The key fingerprint is:
SHA256:Zy87yEWFZgoKqAMWDmHMKxp4k6AP2OK5bBNsfi4MvYU あなたのメールアドレス
The key's randomart image is:
```

Enterキーを2回押して、完了しましょう。
その後`ls`コマンドで、my_private_keyができているかどうか確認をしましょう。
- `my_private_key`（秘密鍵🔑）
- `my_private_key.pub`（公開鍵🔑）

の二つができていればOKです。

#### 5. 公開鍵の方をコピーする
```Bash:公開鍵のコピー
pbcopy < ~/.ssh/my_private_key.pub
```

※Macのコピー方法です。

それか、`cat`コマンドを使用して中身を表示して、コピーすることもできます。
```Bash:catコマンドの使用
cat my_private_key.pub
```

表示された公開鍵の内容をコピーするパターンです。

#### 6. GitHubに戻って、公開鍵の中身を登録
SSHのページに戻ったら、画像のボタンをクリック、新しくSSHキーを登録します。

![名称未設定7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/4cf2ff06-489b-46ca-9d77-168fcee260af.jpeg)

入力するのは、TitleとKeyというフォームです。

![名称未設定8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/82d5b147-61b9-44ef-963d-e4e10503a2ca.jpeg)

Titleはなんでも良いです。
わかりやすい名前を使うなら、**自身のユーザー名@自身のPC名**でつけておくと良いでしょう。

Keyのフォームの中には、先ほどコピーした公開鍵の中身を貼り付けます。
貼り付けた後は、**Add SSH key**で登録をしましょう。

これで準備はOKです。

#### 7. 接続を確認しよう
```Bash:接続を確認するには
ssh -T git@github.com

# 出力結果
Hi ユーザー名! You've successfully authenticated, but GitHub does not provide shell access.
```

## 早速リポジトリを作って、Cloneしてみよう
これで色々準備が整いました。
今回は`init`コマンドを使わずに、Cloneから開始します。

#### 1. リモートリポジトリの作成
まずはリポジトリの作成です。
GitHubにアクセスしていただいて、右上のアイコンをクリック。
Your profileを選択して移動しましょう。

![名称未設定9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/865a3869-f82f-4b59-9058-2fc4306e9514.jpeg)

次にRepositoriesを選んで移動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/479c019a-c540-421b-ab65-a1ff5f3b6a97.png)

初めてアカウントを作ったのであれば、上画像のように何もない状態です。

では右にある緑色のボタン、`New`を押していただいて、新しいリポジトリを作成しましょう。

今回は以下の画像のように作ってみましょう。
1. リポジトリ名は『test』
1. Privateを選択
1. Add a README fileにチェック
1. Create repository（右下の緑色のボタン）を押下

![名称未設定.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/b13fedd3-3133-4455-a1de-b32bc459bd63.jpeg)

:::note warn
PublicかPrivateはどちらでも良いですが、テスト用なので外部に公開する必要はありません。なのでPrivateを選んでいます。

Readmeファイルを作成すると、最初からファイルが存在した状態でリポジトリが出来上がるので、クローンがスムーズになります。
:::


#### 2. SSHを使ってCloneする
ではローカルにクローンをしてみましょう。

📗 前提知識
**リモートリポジトリ：GitHubに存在するコード（前項で作ったもの）**
**ローカルリポジトリ：自身のPCにクローンしてきたコード**

①画像の順番でボタンを押していきましょう。

![名称未設定1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/a9e1fe7c-2d4f-460a-9667-0e73fba1fd14.jpeg)

②ターミナルを開いて、任意のディレクトリに移動します

:::note info
ホームディレクトリにTrainingといった練習用のディレクトリを作って、そこに移動することをおすすめします。
:::

```Bash:クローンする
git clone 先ほどの画像内の③でコピーしたテキストを貼り付ける
```

これでローカルにReadmeファイルが持って来れたと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798971/aa0adf67-f62d-45f3-aa23-15011610fb76.png)

:::note alert
上記の画像は、この記事で試し打ちしている皆様の環境とは、一部違いがありますのでご注意ください。

※GitHubのアカウントが複数あるタイプの実行結果になっています
:::


## おわりに
まずはここまでお疲れ様でした。
次からは実際にGitのコマンドを試し打ちしていきつつ、どんな形でコードを書いていくのか見ていきましょう。

次の記事はこちら👇

https://qiita.com/ikemura-ren/items/82f096910aef0f5cdcf3