Githubの使い方　その3　(PUSHについて)

前回までの流れ　[GitHub使い方](https://qiita.com/ki_takada/items/275ea40db8e42694a302)
1. 今いるディレクトリにディレクトリを作成する`mkdir git_tutorial`
1. 作成したディレクトリに移動するcd `git_tutorial`
1. git管理をはじめる`git init`
1. 作成したディレクトリに移動`cd ディレクトリ名`
1. ファイルを作成　`touch ファイル名.拡張子
`　`echo "記述したい内容" >> ファイル名.拡張子`など
1. ファイルをステージに追加する
`git add ファイル名.拡張子`　または、`git add .`
1. 変更状況を確認する`git status` `git diff`
1. ローカルリポジトリにコミット `git commit -m "コメント"`　　

## 3. リモートリポジトリにPUSHする

※GithubへのSSH接続は済ませてあります。

#### 3-1 SSH接続が可能か確認
```sh
ssh -T git@github.com
```
* 以下のようにパスワードの入力が求められる。入力しても画面には表示されない仕組み。
![スクリーンショット 2024-01-21 9.03.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/996c3986-a428-8f82-f777-84b8af8773a6.png)
* 初めて接続する際は以下のように聞かれるので`yes`で。
`Warning: Permanently added 'github.com,13.114.40.48' (RSA) to the list of known hosts.
2Enter passphrase for key '/home/ec2-user/.ssh/id_rsa':` 

* 以下のようなコメントが出たらSSH接続できています。
![スクリーンショット 2024-01-21 9.01.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/cf17cb21-ca1a-fbc3-e1b6-f5eb3fc95a73.png)


#### 3-2. GitHub 上にリモートリポジトリを作成
`Test-repository`という名前でリポジトリーを作成します。
* Github上で、`＋`、`New repository`の順に押下
![スクリーンショット 2024-01-21 14.27.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/87227c83-ee3b-8d50-ff45-c9618c50bb7e.png)
 * リポジトリーに任意の名前をつけて、公開・非公開を選択。最後に緑色の`Create repository `を押下。
 ![スクリーンショット 2024-01-21 14.30.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/e244793f-d9a8-29e5-9c11-7ee071a82d52.png)
* 作成したリポジトリーのURLが生成されるので`SSH`の方をコピーしておく。
![スクリーンショット 2024-01-21 14.34.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/d7514731-ae4a-33a3-be6e-da42e4f03303.png)


#### 3-3. リモートリポジトリにPUSH
＊事前に`helloworld`という名前のローカルリポジトリに`hello.txt`というファイルをaddしてあります。

* リモートリポジトリとして先程作成した GitHub上のリポジトリを指定する。
```sh
git remote add origin <GitHubのリモートリポジトリのURL>
```
実際にやってみたら。。。エラー。
![スクリーンショット 2024-01-21 15.07.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/c4d427b7-5f25-8441-d9f0-44c1d01d545c.png)

(エラー内容の拡大`error: remote origin already exists.`)
これは既にリモートリポジトリが設定されているというエラー。このブログを書く前に試しに別のリモートリポジトリーに接続していたので、そちらに繋がったままだよの意味。
なので、下記のコマンドで解決。
```sh
git remote remove origin
git remote add origin 新しいリモートリポジトリのURL
```
`git remote -v`で現在設定されてるリポートリポジトリの確認。
![スクリーンショット 2024-01-21 15.06.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/570b7690-1e63-d972-79d8-ae39abfd6583.png)

無事、`Test-repository`に設定できた。

* ローカルリポジトリの内容をリモートリポジトリにPUSH。`-u`オプションは、以降の `git push `や `git pull` コマンドを実行する際に、ブランチ名を省略して実行できるようになる。
```sh
git push -u origin main
```
![スクリーンショット 2024-01-21 15.04.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/475069f7-cc69-8abf-dfaf-323983b31c50.png)
以下の一文は、
リモートリポジトリ（origin）にあるデフォルトブランチ（main）と、ローカルリポジトリ（git_test）のデフォルトブランチ（main）が紐づいたことを表している。
![スクリーンショット 2024-01-26 21.56.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/6b572aa9-0f69-4f55-7d01-19b966f1890b.png)


* Githubに移動して〜　確認！よし、出来てます！
![スクリーンショット 2024-01-21 15.09.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/0a888ccd-2124-3817-fcf2-903c3e0c398c.png)