【Git】Milestones、Issue、PullRequestの練習をしてみた。

今回の記事の流れ

- Milestonesを作成
- Issueを立てる
- xcode上で実装
- commit,Pushを行う
- PullRequest
- Merge
- ローカルで確認

といった流れで実施する予定だったが、筆者は間違えて、Issueを立ててから、Milestoneを作成したため、注意してください。今回は、xcodeで、Git操作を行い、また、git-flowに則って、実施した。

xcode上でGit操作を行う
-
![スクリーンショット 2023-04-29 10.36.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/0943561f-343b-c07c-bec5-7fc36326ce71.png)
Gitでローカルリポジトリを作成する。xcodeの`NavigatorArea`の２つ目のタブをクリックすると、Gitがどのように管理されているかが確認できます。


![スクリーンショット 2023-04-29 10.36.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/3e807af2-1688-b471-f362-5f9de91eb8b5.png)
リモートリポジトリの作成。
Gitのリポジトリを右クリックし、`New "GitSample" Remote..`をクリック

![スクリーンショット 2023-04-29 10.36.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/df8a8a26-13b0-9b94-d004-554b129887a8.png)
するとリモートリポジトリの作成の設定画面がでてくるので、設定を行い、`Create`を押す。

![スクリーンショット 2023-04-29 10.36.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/7c2e0b65-6fb2-926e-dd0d-c980fd4bc1ba.png)
画像のように、"origin/master"が表示されると、リモートリポジトリが作成されています。

Issueを立てる
--

![スクリーンショット 2023-04-29 11.03.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/49bce020-5d35-ea26-f41c-eb6399c88ea3.png)
Gitからリモートリポジトリを開き、Issuesのタブをクリックすると上の画面が出てきます。
右上の`New Issue`をクリック

![スクリーンショット 2023-04-29 11.03.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/249146c9-69c2-e23e-53bb-64fb5a445717.png)
Issueを作成できる画面が表示される。
`Title` `Write` の欄があり、入力することが可能。

![スクリーンショット 2023-04-29 11.05.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/99085607-ec4f-7e8f-c3ac-3f14d9b8112b.png)
Issueを設定する。
今回はGit操作が目的であるため、実装内容は簡単にしている。
また、詳細内容を書く際に、ショートカットキーで太字などにすることもできるようだ。
内容を書けたら、`Submit new issue`をクリックする。

![スクリーンショット 2023-04-29 11.05.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/97ead08b-2bdf-f693-2de2-85151039f06a.png)
このように`Issue`のタブの部分に「１」と表示され、Issueを立てることができました。
左上に実施中であれば`Open`、終了であれば`Closed`と表示される。

![スクリーンショット 2023-04-29 11.06.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/e8d0e0ca-53a3-fc60-f608-013612414a78.png)
Isuueタブをクリックすると、このようにIssuesに１つ追加されている。

![スクリーンショット 2023-04-29 11.08.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/35a535ff-3c02-0631-6407-82516ba87711.png)
先程の手順でもう一度、Issueを追加すると、Issueが２と表示される。このように、Issueのリストを確認することができる。

xcode上で、develop・feature Branchを作成
-
![スクリーンショット 2023-04-29 11.13.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/e7db3d2c-8fad-a720-9a66-472cd282b124.png)
xcodeでGitを操作しようとする場合は、上に表示されている`Source　Control`をクリックすると、Git操作のリストが表示され、選択するとGit操作を行うことが可能。

![スクリーンショット 2023-04-29 11.13.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/e2ec129c-c66c-d343-b34a-a728315ff5e5.png)
Gitの状態を確認できる画面で、Branchを作成します。

![スクリーンショット 2023-04-29 11.14.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/b211cb91-d837-1e95-2982-75eebc524be0.png)
masterbrunchのところで、右クリックをして、`New Branch frome "master"...`をクリック

![スクリーンショット 2023-04-29 11.14.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/72ccc384-27ff-0354-865d-31bea3f6dd2d.png)
develop branchを作成すると、左上の部分でどのbrunchで作業しているかが表示される。

![スクリーンショット 2023-04-29 11.15.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/c1f3e0ad-c597-d357-a4d6-d8bf7662e2ca.png)
次に、developから、さらにfearture brunch を作成する。

![スクリーンショット 2023-04-29 11.16.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/714abfb3-019c-8fd3-78e8-e395b2820b58.png)
今度は、fearture brunchに変更することができた。

![スクリーンショット 2023-04-29 11.18.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/c879e461-1386-b4e9-8e2e-d06bb92225ab.png)
featurebrunchで、１つ目のIssueである、「こんにちは、世界」をTextで表示する実装を行う。

![スクリーンショット 2023-04-29 11.21.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/e42d4e2c-ca04-6828-f609-7c3ccfb46483.png)
コミットを行う。そのコミットメッセージで、#1　を入力することにより、GitHubを閲覧した際にIssueの#1　と関連付けることが可能である。

![スクリーンショット 2023-04-29 11.21.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/db74a44b-0ed2-4549-b5af-491a52305ad0.png)
pushを行う。

![スクリーンショット 2023-04-29 11.22.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/26fb846a-b0ef-e904-033a-47bb9e59d9be.png)
すると、＃1のIssue画面で、コミットされたことが表記される

Milestoneの作成
-
![スクリーンショット 2023-04-29 11.28.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/c2e969a3-dd79-b63a-c6af-05587f1bcd63.png)
Issuesのタブ内の、Milestoneをクリックすると、Milestoneを作成する画面が表示される。 `Create a Milestone`をクリック


![スクリーンショット 2023-04-29 11.29.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/69bb8396-51fa-cc74-0272-8b133586c98d.png)
Milestoneの作成画面が表示された。
`Title`に、次にリリースする「Version〇〇.〇〇」　などで作成すると良いかも。
`Due date`に、締め切り日を入力
`Description`に、詳細を入力。

入力後、`Create milestone`をクリックする。

![スクリーンショット 2023-04-29 11.30.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/6286babc-c789-0afc-1dc0-86d77a3d4ba0.png)

Milestoneが作成された。このMilestoneの中には、Issueが登録されいない状態。![スクリーンショット 2023-04-29 11.30.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/25fe47ba-1c1f-b7e5-8447-319f423df378.png)
    ＃１のIssueを開き、右下のMilestoneの設定ボタンをクリックする。
![スクリーンショット 2023-04-29 20.57.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/4e3bd0d7-c120-918d-e5c1-50cb3d1f3ebf.png)
このような画面が表示され、設定したいMilestoneをクリックする。

PullRequestを実行
-
![スクリーンショット 2023-04-29 11.34.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/740f30c1-af9c-3086-645e-58633dcded57.png)
develop branchに、feature branch　でコミットした上の内容を、Mergeするために、PullRequestする。内容が間違えていなければ、右下の　`Create pull request`をクリック

![スクリーンショット 2023-04-29 11.35.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/e1212b3f-e0ac-2084-3254-55ba7edaab4b.png)
上記の内容で問題なければ、`Merge　pull request`をクリック

![スクリーンショット 2023-04-29 11.36.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/0a7e0516-9613-f2f4-32c6-46ff75127e86.png)
Mergeする際に、コメントを残すことができます。上記の内容で間違いなければ、`Confirm merge`を行う。


![スクリーンショット 2023-04-29 11.39.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/0a529d8d-44d2-1abd-6fb7-93661128a903.png)
右下部分に　Mergedと　紫で表示されている。

![スクリーンショット 2023-04-29 11.39.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/2d90ed81-7857-2add-08d6-05d229c3ed4a.png)
xcode上で、Pullを行う。

![スクリーンショット 2023-04-29 11.40.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/ccf54692-71f8-cff1-28db-f7958ce799a7.png)
develop branch　で　「こんにちは、世界」　と表示されている。

以上です。

（余談）

https://i-app-tec.com/ios/xcode-window.html

Xcodeの各Windowの名前がわからなくなるときがあるため、こちらの記事が丁寧に記載されていました。

他にも良い方法があれば、コメントいただけると大変うれしいです。
良かったと思ったら、いいねやTwitterのフォローよろしくお願いいたします！

https://sites.google.com/view/muranakar
個人でアプリを作成しているので、良かったら覗いてみてください！