Gitのリモートブランチ削除実行前に実験したこと(Git・Linuxコマンド、GitHubの超基本操作)

###Gitのリモートブランチ削除(作成したPRを削除したい時など)の続編です。

https://qiita.com/yuuichimizuta/items/b12e074e5eda1d6d8b80
##背景
共同開発で使用しているリポジトリで実行する前に、仮のリポジトリでテストした内容をまとめました。

##前提
* VSCodeをインストール済み
* Gitをインストール済み
* GitHubにサインアップ済み

##❗注意
:::note warn
コマンドをコピペして実行する際、コマンドの最後に余分なスペースが入らないよう注意しましょう。
コマンドが強制実行される場合があります。実行の際は慎重に。
:::

##目次
>実験内容
>>1.DesktopにGit_testフォルダを作成
2.Git_testフォルダにhogehoge.htmlを作成
3.hogehoge.htmlに以下のコードを記載
4.リモートリポジトリの作成
5.Gitのローカルリポジトリを作成。リモートリポジトリを追加
6.リモートリポジトリの追加。リモートリポジトリにmainブランチをプッシュ
7.testブランチを作成
8.hogehoge.htmlの内容を変更。
9.ローカルリポジトリにコミットする。
10.リモートリポジトリにプッシュ。
11.プルリクエストの作成
12.リモートブランチ削除(プルリクエストとプッシュしたブランチ両方削除)
13.GitHubからも削除されたことを確認

>その他
参考記事

##実験内容
🌟 GitやLinux操作の超基本コマンドを使用しました。
###1.DesktopにGit_testフォルダを作成
* ターミナル起動
* Desktopに移動
* 現在のディレクトリ確認
* Git_testフォルダを作成

```:ターミナル
$ cd Desktop
$ pwd
$ mkdir Git_test
```

###2.Git_testフォルダにhogehoge.htmlを作成
* Git_testディレクトリに移動
* 現在のディレクトリ確認
* hogehoge.htmlを作成
* ファイルが作成されたことを確認
* VSCode起動

```:ターミナル
$ cd Git_test
$ pwd
$ touch hogehoge.html
$ ls
$ code .
```

###3.hogehoge.htmlに以下のコードを記載

```HTML:hogehoge.html
<p>hogehoge</p>
```

###4.リモートリポジトリの作成
* GitHubを開き、トップページの[New]ボタンを押下
* Create a new repositoryの画面で、リポジトリ名を入力
* [Create repository]ボタンを押下
* リモートリポジトリ作成
![スクリーンショット 2021-06-29 18.24.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/626853d9-ebd9-8275-578f-6a7fd36daa60.png)
![スクリーンショット 2021-06-29 18.28.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/d22a638e-e464-5bfa-2d60-b249a9f1994b.png)
![スクリーンショット 2021-06-29 18.43.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/03db4525-7d12-a7ef-a337-e73c2b3c70a5.png)


###5.Gitのローカルリポジトリを作成。
* ターミナルに戻る
* ローカルリポジトリ作成
* README.mdファイル作成
* 変更分をステージング
* コミットする(""部分はコミットメッセージ)
* mainブランチの作成

```:ターミナル
$ git init
$ echo "# Git_test" >> README.md
$ git add .
$ git commit -m "first commit"
$ git branch -M main
```

###6.リモートリポジトリの追加。リモートリポジトリにmainブランチをプッシュ
* リモートリポジトリの追加
* mainブランチをプッシュ
* プッシュされたことを確認(GitHubで)

※以下コードのURLにはリモートリポジトリのページにあるURLをコピペ
![スクリーンショット 2021-06-29 18.57.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/209ffcb6-d805-4d37-726b-6e46953a68c4.png)

```:ターミナル
$ git remote add origin <URL>
$ git push origin main
```

:::note alert
git push origin mainは実務では原則禁止。
:::

![スクリーンショット 2021-06-29 19.45.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/b613f58c-0544-a3ff-5e61-8c1b1ec3c9fa.png)


###7.testブランチを作成
* testブランチ作成
* 作成されたことを確認(* は現在のブランチ)

```:ターミナル
$ git checkout -b test
$ git branch
```
以下、testブランチで作業


###8.hogehoge.htmlの内容を変更。

```HTML:hogehoge.html
<p>hogehoge</p>
<p>hogehoge2</p> <!-- 追記 -->
```

###9.ローカルリポジトリにコミットする。
* ローカルリポジトリのステータス確認
* 変更分をステージング
* コミットする。

```:ターミナル
$ git status
$ git add .
$ git commit -m "hogehoge2追記"
```


###10.リモートリポジトリにプッシュ。
* 現在のブランチを確認
* リモートリポジトリにtestブランチをプッシュ
* 全てのブランチを確認

```:ターミナル
$ git branch
$ git push origin test
$ git branch -a
```
↓git branch -a　実行結果

```:ターミナル
  main
* test
  ⬆ローカルブランチ
  ⬇リモートブランチ
  remotes/origin/main
  remotes/origin/test
```


###11.プルリクエストの作成
* GitHubに戻る
* プルリクエストの作成へ(Compare ＆ pull requestボタン押下)
* base:をmainに指定(Request先 ❗今回のみ)
* タイトルとコメント入力しCreate pull requestボタン押下
* プルリクエスト作成完了
![スクリーンショット 2021-06-29 20.44.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/24564ccf-c41c-19da-5bbf-908939173ca3.png)
![スクリーンショット 2021-06-29 20.50.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/63cb5f62-cee0-86e4-fa13-4f7fb20d0e19.png)
![スクリーンショット 2021-06-29 20.56.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/5154abd3-3dcd-f6d2-47a0-31fd8f35e279.png)

:::note warn
Marge pull requestボタンは押下しないように
:::

###12.リモートブランチ削除(プルリクエストとプッシュしたブランチ両方削除)
* ターミナルに戻る
* リモートブランチ確認
* リモートブランチ削除
* 削除されたことを確認

```:ターミナル
$ git branch -r
$ git push --delete origin test
$ git branch -r
```

###13.GitHubからも削除されたことを確認
* Closedとなっていればプルリクエスト削除成功
* testブランチが存在しないことを確認
![スクリーンショット 2021-06-29 21.19.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/d0bbf835-e2ad-4dcd-193c-1cf7012484c1.png)
![スクリーンショット 2021-06-29 21.20.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/39758e5c-8962-5973-cc8b-13c5aaebb3cd.png)


###以上です。


##その他
画像のClose pull requestボタン押下した場合、プルリクエストは削除できますが、ブランチは削除されません。
プルリクエストだけ削除する場合に押下します。
![スクリーンショット 2021-06-29 21.27.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/248ea208-3c0a-913f-3b61-e42014c7d511.png)

再度ブランチをプッシュしたい場合は、ブランチ名を変えてから行うと無難。
⬇ブランチ名変更 (ターミナルで実行)

:::note alert
※変更対象のブランチに移動してから行う場合。
(❗❗ファイルを変更している場合、必ずファイルをステージング→コミットまで終わらせてから移動しましょう)
:::
ブランチ移動 → ブランチ名変更

```:ターミナル
git checkout 移動先のブランチ名
git branch -m 変更したいブランチ名
```

ローカルリポジトリのブランチを削除する場合

:::note alert
※削除対象以外のブランチに移動してから行う。
(❗❗ファイルを変更している場合、必ずファイルをステージング→コミットまで終わらせてから移動しましょう)
:::
ブランチ移動 → ローカルリポジトリのブランチを削除

```:ターミナル
git checkout 移動先のブランチ名
git branch -D 削除したいブランチ名
```

##参考記事

https://qiita.com/yuu_ta/items/519ea47ac2c1ded032d9

https://yutaro-blog.net/2021/05/20/git/

https://qiita.com/ststs/items/6e7773aa33107652e69e