GitHub にプロジェクト（リポジトリ）をプッシュする方法

## はじめに
GitHub にプロジェクト（リポジトリ）をプッシュする手順を簡潔にまとめてみました。


## Git のインストール

### Windows の場合
下記サイトから Git for Windows をダウンロードして下さい。

https://gitforwindows.org

ダウンロードしたファイルを実行して下さい。
基本的に [Next] を選んでおけば問題ありません。選択肢について詳しく知りたい方は下記サイトを参考にして下さい。
![スクリーンショット2023-03-21 11.42.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/9e003cec-d182-1e23-e009-0a655a688f1b.png)

https://qiita.com/HyunwookPark/items/d399f6959fc922a15ee1

インストールが完了したら [Launch Git Bash] にチェックし、Git Bash を起動して下さい。
![スクリーンショット2023-03-21 12.00.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/74d6319c-5673-7e4b-208d-52271307e7f8.png)

Git Bash を起動したら、Git 用のメールアドレスと名前を設定して下さい。

```console
git config --global user.email "hogehoge@gmail.com"
git config --global user.name "Pumila"
```

### Linux・macOS の場合
Linux・macOS の場合は下記のように、Git をインストールして下さい。
```console:Debian系
apt-get git
```
```console:RHEL系
dnf install git
```
```console:macOS（Homebrew 導入済み）
brew install git
```
こちらもインストールできたら、Git 用のメールアドレスと名前を設定します。

```console
git config --global user.email "hogehoge@gmail.com"
git config --global user.name "Pumila"
```

## GitHub にプロジェクト（リポジトリ）をプッシュする方法

### アクセストークンの取得
まずは [GitHub](https://github.com) のアカウントを作成して下さい。アカウントが作成できたら、アクセストークンキーを作成します。右上のプロフィールから [Settings] を選択します。するとプロフィール画面が表示されるので、一番左下の [Developer settings] を選択して下さい。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/3fddfac1-81fc-a685-124f-28126ed4a7c2.png)
[Developer settings] を開いたら、[Personal access tokens] を選択し、[tokens (classic)] を選択します。その後、右上の [Generate new token] から [Generate new token (classic)] を選択します。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/841cb8ca-fbe3-05a8-e52b-26664122f4cf.png)
すると以下のような画面が表示されるので、名前を適当に入力し、アクセストークンの期限を選択して下さい。この時、`No expiration` を選んでもいいと思います（GitHub からは非推奨だと表示されますが、漏洩の心配がなければ別に問題ないと思います。アクセストークンの期限が切れたらいちいち再作成するのも面倒くさいですしね。あくまで自己責任で）。
>GitHub strongly recommends that you set an expiration date for your token to help keep your information secure.

スコープはリポジトリをプッシュしたいだけなので、[repo] を選択して下さい。最後に下までスクロールして [Generate token] を選択して完了です。作成したアクセストークンをメモしておきましょう。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/0a133d68-e971-ef96-08c6-565007840e90.png)

### リポジトリの作成
アクセストークンの取得ができたら、リポジトリの作成に移っていきます。
右上の＋ボタンから [New repository] を選択して下さい。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/f7b1484c-bbc4-4b48-cec9-b0724a9ff85a.png)
[New repository] を選択したら、Create a new repository ページに移動するので、リポジトリ名に適当な名前を入力して下さい。この時、リポジトリを公開したくない方は [Private] を選択して下さい。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/b38206c4-8143-be72-8539-0db5ae65c174.png)
[Create repository] を選択するとリポジトリの初期画面が表示されます。基本的には赤線で囲ってあることを行えばいいですが、`git add` の部分だけ少し異なります。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115291/168b08ae-7b1a-8f8e-c49e-910b390f2c7f.png)
各 OS でターミナルを開いて（Windows の場合は Git Bash）リポジトリに登録したいファイルがあるディレクトリに移って下さい。その後、以下コマンドを実行して下さい。

```console
[web@localhost git]$ git init
[web@localhost git]$ git add .
```
この時、`git add .` とコマンドを実行すると全てのファイルが追加されます。`.env` ファイル等がある場合、アクセストークンなどが漏洩してしまうので、追加したファイル群から削除しましょう（追加するファイルを一つ一つ選択しても構いません）。まずは `git status` コマンドで状態を確認しましょう。
```console
[web@localhost git]$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   .env
        new file:   Dockerfile
        new file:   Procfile
        new file:   README.md
        new file:   chk.py
        new file:   chk.sh
        new file:   main.py
        new file:   requirements.txt
        new file:   runtime.txt
        new file:   send.py
```
上記では、アスセストークンが記載されている `.env` ファイルが追加されています。そのため以下のように取り消して下さい。
```console
[web@localhost git]$ git reset .env
```
再度 `git status` コマンドで状態を確認してみましょう。`Untracked files` に `.env` ファイルがあれば問題ありません。

```console
[web@localhost git]$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   Dockerfile
        new file:   Procfile
        new file:   README.md
        new file:   chk.py
        new file:   chk.sh
        new file:   main.py
        new file:   requirements.txt
        new file:   runtime.txt
        new file:   send.py

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .env
```
その後、以下のようにコマンドを実行して下さい（プッシュする URL は各々置き換えて下さい）。最後の `git push -u origin main` コマンドでは、アカウント名と先程メモしておいたアクセストークンが聞かれます（パスワード認証は廃止されました）。

```console
[web@localhost git]$ git commit -m "first commit"
[web@localhost git]$ git branch -M main
[web@localhost git]$ git remote add origin https://github.com/Pumi1a/hogehoge.git
[web@localhost git]$ git push -u origin main
Username for 'https://github.com': Pumi1a
Password for 'https://Pumi1a@github.com':
```
これでリポジトリの作成が完了です。

## 最後に
GitHub にリポジトリをプッシュする方法について簡単にまとめてみました。