Windows10でGitHubを始める～⑤Githubにプッシュする

個人学習メモ。

今回は[Windows10でGitHubを始める～①Gitインストール 手順2-12.認証情報ヘルパーの設定](https://qiita.com/emiki/items/c0aa0b4da4b63921b153#2-12%E8%AA%8D%E8%A8%BC%E6%83%85%E5%A0%B1%E3%83%98%E3%83%AB%E3%83%91%E3%83%BC%E3%81%AE%E8%A8%AD%E5%AE%9A)の際に選択した「Git Credential Manager」による認証で、手元Windows10端末上のGitローカルリポジトリ～GitHub上のリモートリポジトリ間をHTTPS接続する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/1b7ff76e-c92f-4da4-c67d-c9dde2c18920.png)

手元Windows10端末上のGitローカルリポジトリ～GitHub上のリモートリポジトリ間の認証方法の種類（SSHとか）については別の記事で執筆予定。

# 1.手元Windows10端末上のGitでローカルリポジトリの準備

まずは手元Windows10端末上のGitでローカルリポジトリの準備をする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/89fbc16e-5820-c6cd-500e-82c461840577.png)

## 1-1.ローカルリポジトリの作成
Gitで管理するローカルリポジトリ用のディレクトリを作成する。
Git Bashを開き、以下のコマンドを実行する。[^補足1]

[^補足1]:私の個人PCの都合によりホームディレクトリがE:\homeになっているが、ホームディレクトリの変更は[Windows10でGitHubを始める～①'おまけGitホームディレクトリ変更](https://qiita.com/emiki/items/d3f7c054b70171218f64)を参照。

※「qiita-test_local」の部分は任意のフォルダ名でよい。今回はリモートリポジトリの名前が「qiita-test」なので気持ち合わせてみた。

```
mkdir qiita-test_local
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/0f9f2694-dbb4-a8e3-291f-e2222fb3888b.png)
フォルダができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/0090f69b-24de-d885-68ab-592ebc9fa4fb.png)

作成したフォルダに移動する。
```
cd qiita-test_local
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/ac469928-5318-c4df-5e20-8c2a51ced105.png)

## 1-2. git initコマンドでローカルリポジトリを作成
このフォルダをGitで管理できるように、ローカルリポジトリとして設定する。
以下のコマンドを実行する。

```
git init
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/fd52743f-512a-cfd7-02c2-454d0b3b075b.png)

## 1-3. ローカルリポジトリにpush先リモートリポジトリを設定
`git init`を実行した後、[Windows10でGitHubを始める～④リモートリポジトリの作成（GitHub）](https://qiita.com/emiki/items/5080d948af4a2d0febf5)で作成したGitHubのリモートリポジトリをブラウザで開き、httpsから始まるURLをコピーしてメモしておく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/da1d07e3-dd3e-0f7a-0ea5-5b3a0f78df65.png)

プッシュ先のリモートリポジトリを指定する。
`<URL>`の部分コピーしたURLに置き換えて、Git Bashで実行する。

```
git remote add origin <URL>
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/65e9caad-9a84-757c-7151-5d58ac02da1f.png)

# 2.Githubにプッシュする
ローカルリポジトリ（手元のGit）でコミットし、そのコミットをリモートリポジトリ（GitHub）にプッシュしていく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/a517fec8-0d15-5bcc-f898-8c7f73ddbfa9.png)

## 2-1.git add
ローカルリポジトリ内に、touchコマンドで適当にファイルを作る。

```
touch test1.txt
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/9e077d05-3f8d-3278-838e-6df7e7f8937e.png)
ファイルができている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/505599d5-03b9-0e3a-62bd-9a42047464fe.png)

`git add`コマンドでリポジトリをstagedという状態にする。
追加した`test1.txt`を指定して以下コマンドを実行する。

```
git add test1.txt
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/4de8fbdb-1245-289f-3129-afa281aa1a77.png)
コミットする準備が整った。

## 2-2.git commit
`git commit`コマンドでローカルレポジトリにコミットする。

```
git commit -m "Create test1.txt"
```
`-m`はコミットの説明。何を変更したか記載しておくと後で見返したときわかりやすい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/cbc00f5a-edb5-b4d2-0eeb-4c1cd5da18bc.png)

## 2-3.git push
ここまでできたらプッシュします。

```
git push origin master
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/e31062b7-0ccc-e405-5a68-b303b27f3f15.png)
ここで以下のポップアップが出現する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/8075ebc6-cb10-818f-5152-2d98a847a81a.png)
「Browser/Device」が選択された状態で「Sign in with your browser」をclickする。
するとブラウザが開き、Git Credential Managerの承認を求められることがある。「Authorize GitCredentialManager」をclickする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/235e5129-71b3-ef52-f0d7-29778b7e0be0.png)
GitHubのパスワードを求められることがある。GitHubのパスワードを入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/71022e87-8a46-6c67-308c-ce4b3c310ff2.png)
以下画面が表示され、HTTPSでの認証が成功する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/1ec1c2d3-091d-364a-7e31-da17295ce39d.png)
GitHubでリモートリポジトリを確認すると、「test1.txt」がpushされたことが確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/2e2d906e-2162-563a-5ba8-0a8408512430.png)

`git log`コマンドでコミットの履歴を見ると、コミットがGitクライアントで設定したユーザ名・ダミーメールアドレスになっているのが確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/00661ff1-7406-7920-a477-d40e2aff1878.png)

# 参考
[Windows10でGitHubを始める～⓪Gitの概念とインストールソフトの種類](https://qiita.com/emiki/items/5c8e52cf6b8506015462)
[Windows10でGitHubを始める～①Gitインストール](https://qiita.com/emiki/items/c0aa0b4da4b63921b153)
[Windows10でGitHubを始める～①'おまけGitホームディレクトリ変更](https://qiita.com/emiki/items/d3f7c054b70171218f64)
[Windows10でGitHubを始める～②GitHubアカウント作成](https://qiita.com/emiki/items/dadf77e9ae1e2b192323)
[Windows10でGitHubを始める～③GitHubでのメールアドレス設定とGitクライアントでのユーザ名・メールアドレス設定](https://qiita.com/emiki/items/4103150a5d7a7cfbff24)
[Windows10でGitHubを始める～③'おまけユーザ名・メールアドレス設定について詳細](https://qiita.com/emiki/items/24212696b54fd16e8af8)
[Windows10でGitHubを始める～④リモートリポジトリの作成（GitHub）](https://qiita.com/emiki/items/5080d948af4a2d0febf5)
[Windows10でGitHubを始める～⑤Githubにプッシュする](https://qiita.com/emiki/items/a2871ab626396e95d9ec)
[Windows10でGitHubを始める～⑥-0.Git～GitHub間の認証について](https://qiita.com/emiki/items/eeaf77d51aadef98aea9)
[Windows10でGitHubを始める～⑥-1.Git操作時のGitHub認証HTTPS（Git Credential Manager）](https://qiita.com/emiki/items/3f2ebda7280374fb3bb7)
[Windows10でGitHubを始める～⑥-2.Git操作時のGitHub認証HTTPS（Personal access token）](https://qiita.com/emiki/items/498b05ede19eee3ad916)
[Windows10でGitHubを始める～⑥-3.Git操作時のGitHub認証SSH編](https://qiita.com/emiki/items/1f1fc0bf0c2c4347148d)
[Windows10でGitHubを始める～⑦GitHubへのPullRequest](https://qiita.com/emiki/items/8619441dca761869177f)

GitHub無料プランでもリポジトリが非公開にできるようになったのは最近ぽい

https://prog-8.com/docs/git-env-win

https://qiita.com/atsushi101011/items/96054ebbd876e378cac4

https://chico-shikaku.com/2019/08/github-commit-log/

https://qiita.com/A__Matsuda/items/f71a935612a55d6e674e

https://techacademy.jp/magazine/6235

https://zenn.dev/ctrlkeykoyubi/articles/87d8b7a728a635