GitHubを用いた開発準備と基本的な流れ（VB.NET）

# 事前に行っておく必要のあること
- Visual Studio 2022 またはそれに準ずるソフトをWindows OS のPCにインストールしておいてください。
- GihHubのアカウントを取得しておいてください。

# 流れ
## ① 新しいプロジェクトを立ち上げる。
1. visual studio 2022を起動し、新しいプロジェクトを作成します。
![無題6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/0dc43dc0-f722-430a-a6ef-c7306cfa1c24.png)

2. Windowsフォームアプリを選択します。
※今回は、Windowsフォームアプリを選択していますが、開発する言語や開発するアプリなどの状況に応じて、選択してください。
![無題7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/dc09f669-460f-11e3-071d-53ed1714de09.png)

3. プロジェクト名とソリューション名は任意のものを登録します。
![無題8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/54c2bd64-88f1-dee2-3e9b-d5b2969c86bc.png)

## ② Gitのリポジトリを新規作成し、プッシュする。
1. 「Gitリポジトリの作成」から、リポジトリを作成します。
Gitのタブは、Git＞コミットまたはスタッシュを押すことで、画面上に出すことができます。
![無題9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/94a8c375-7123-4d71-e7cc-10f8d3625817.png)

2. GitHubのアカウントを選択し、作成とプッシュを押します。
これにより、新たに立ち上げたソリューションを、リモートリポジトリ側にプッシュすることができます。
今回の場合、第三者に公開する必要はないので、プライベートリポジトリとして設定しています。
なおプライベート、パブリックの設定は、GihHub上で設定し直すことができます。
![無題10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/326d353a-d7e1-56d3-a04c-08347fd4017b.png)

## ③ ブランチを作成する。
1. masterのプルダウンを開きます。
![無題11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/5b71bb2d-fff4-13e2-a668-d566eaa9dbfd.png)

2. 新しいブランチを選択します。
![無題28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/e5247d0d-f4c1-6369-e337-4e019a76ea59.png)

3. ブランチ名を決め、作成元を確認して、作成します。
これにより、masterから新たにブランチが作成され、そのブランチ上で開発を進めることができます。
![無題12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/ebd24570-cb52-0fed-b4e2-9cb0dc285418.png)

## ④ コミットする。
1. 試しに、フォーム上のデザインを変え、コミットします。その際、何を修正したかなどの情報も入力します。
今回の場合、「フォーム名を変更、タイトルの追加」と記載していますが、どのように明記するかは開発プロジェクトやチームに応じて記載する必要があります。
![無題14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/c0ef6d72-680d-95ff-282c-427b31fe7586.png)

2. コミットすると、送信数が1となります。
この段階では、まだリモートリポジトリへ修正した情報は反映されていません。
![無題15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/1d7e8281-64e4-a772-7b77-724ea7b8245f.png)

3. 次にテキスト部分を削除します。
![無題16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/4a3869bd-8384-79b0-9fcf-a3d67affdef9.png)

4. 同様にコミットすると、送信数が2となります。
変更後に、保存をしていなかった場合、コミットと同時に保存することができます。
![無題17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/650fbd40-e7f4-a75a-db65-2f41728a244d.png)

## ⑤ プッシュする。
プッシュのボタンがvisual studio上にあるので、押します。これにより、これまでにコミットした情報がすべてリモートリポジトリ側に送信されます。ただし、この段階では、まだリモートリポジトリへ修正した情報は反映されていません。
![無題18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/33c66890-94de-f172-422f-a7694ae0d437.png)
![無題19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/161e5c53-9845-386e-b316-eeec34bbe087.png)

## ⑥ プルリクエストする。
1. 修正した内容などを記録し、プルリクエストを行います。
![無題20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/41d10c2c-369a-d3ef-9136-3b917165463b.png)
2. 別途、レビューしてもらいたい人に連絡をし、レビューで指摘を受けた部分の修正を繰り返していきます。
![無題21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/66dee3de-6183-6b87-cfb8-64afec9fd6ef.png)
**マークダウンサンプル**
```markdown
# What
"ここには何を実装したかを記載"
# Why
"ここにはなぜ実装したのかの理由や背景を記載"
```

## ⑦ マージする。
1. レビュー者からLGTMをもらったら、リモートリポジトリ側へ反映します。
![無題22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/ab901905-16c6-8d32-8252-131759e0bb17.png)
![無題23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/2cfb4839-4c5d-77f7-f00e-705a05c2e672.png)

2. 反映が終わったら、そのブランチは削除します。
![無題24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/758bc926-820a-2efa-76e0-bd4025559fdf.png)

## ⑧ プルする。
1. ブランチをmasterへ変更し、プルのボタンを押すことでフォームが最新の情報に反映されます。
![無題25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/6205cec1-6227-81bb-e62a-e94ae02f186f.png)

2. masterが最新の情報に更新されたら、また新たにブランチを作成し、開発を進めます。
![無題26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/f93fd9ae-b080-fb05-6ddb-21cb214982ec.png)

# 注意事項
- この記事では、GitHubのアカウントとvisual studio 2020を使用しているので、試してみたい方は事前に準備が必要です。
- また記事を読む場合、リポジトリ、プッシュ、コミットなどの基礎知識を多少、理解している必要があります。
- 関連する記事の一覧は[こちら](https://qiita.com/portfoliokns3/items/7c789b7e1ba40500abbb#%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E6%89%B1%E3%81%A3%E3%81%A6%E3%81%84%E3%81%8D%E3%81%9F%E3%81%84%E4%BA%BA%E5%90%91%E3%81%91%E3%81%AE%E8%A8%98%E4%BA%8B)。
※参照先のリンクが切れている場合は、[トップページ](https://qiita.com/portfoliokns3)から確認してください。

# この記事は誰向けの記事か？
- visual studio 2022上でGitHubの使い方の基本を知りたい人
- GitHubを使用したことがない人

# 環境
- OS：Windows10
- 開発プラットフォーム：[visual studio 2022](https://visualstudio.microsoft.com/ja/vs/)
- [GitHub](https://github.co.jp/)

# 本記事における注意事項
- 本記事は、備忘録としてまとめたものになります。
- 他の方の参考になる可能性も踏まえて、一般公開も行なっております。
- また記載内容はすべて、正しい内容が記載されているとは限りません。
- 誤った内容を見つけた場合は、ご指摘をお願いいたします。