（初めての）AndroidStudioからGitHubにプロジェクト作成

　Git 初心者です。AndroidStudio から初めて Git 接続する方法を書いています。

前提
---
- Windows10 （MacでもGitのダウンロードリンクが異なるだけで問題なく行えます。また、文章中に出てくる「コマンドプロンプト」を適宜「ターミナル」に読み替えて進めてください。）
- AndroidStudio 3.5.3 (2020/01/07 最新版)を使用。
- GitHubアカウントを持っている。（以下の3つが必要になります。）
    - アカウント名
    - E-mail アドレス
    - パスワード
- Git が Windows にインストールされていない。（されていても問題ないですが、パスの設定によって「動かない！」という人の参考にはならないかと思います。）
  
では、始めて行きましょう。

# 0. プロジェクトの作成
　まず、練習のためのプロジェクトを作成します。ここでは EmptyActivity で作成します。（プロジェクト名はここでは"GitTestApp"としています。）プロジェクトの内容は今回重要でないためそのまま何もせず GitHub との連携を行っていきましょう。

# 1. AndroidStudio と Git の連携（1st トライ）
　タブの VCS → Enable Version Control Integration（バージョンコントロールの統合を可能にする）をクリック。ちなみにこの操作は今回のような AndroidStudio とGitHubを初めて結びつけるときではなく、Project と GitHub を連携させる、つまりリモートリポジトリに置く際は毎回使用する操作です。
<img width="263" alt="Original1.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/6bd95179-63e0-92bc-3c99-85ead4930048.jpeg">

　以下のようなウィンドウが現れるので、Gitを選択してOKをクリック。
<img width="371" alt="Original1_EnableVersionControlIntegration.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/83d5b5ab-19c4-ec45-b022-bd775bd32f9d.jpeg">

　右下に以下のような Cannot Run Git（Gitを実行できません）と出ます。
<img width="253" alt="Original2_CannotRunGit.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/c21db31c-a43c-d528-b973-88ed8867412d.jpeg">

　こうなる理由として、

1. そもそもの Git が入っていない
2. Git が PATH に設定されていない

等の可能性が考えられますが、今回は1のパターンを想定しているので、そのままウィンドウに表示されている Download（青字）をクリックしましょう。すると Git のダウンロードページに飛びます。

#2 Git をダウンロードする
　Git のダウンロードページに飛ぶと以下のような画面が表示ます。（Windows なので勝手に Windows 向けのダウンロードリンクに飛ばされています。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/6f6e68ac-f7e0-7316-f5ff-937d94f71ccb.png)


　右の Download 2.24.1 for Windows をクリックしてダウンロードしていきます。ダウンロードした.exe ファイルを開くと以下のような画面が表示されます。
<img width="374" alt="Original4_Gitdownload2.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/1c0980a3-8378-821c-f1fb-07cf5fea2384.jpeg">

　そのまま Next（次へ）。ディレクトリもデフォルトのままでOKです。
<img width="374" alt="Original5_GitDownload3.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/b5bb2a0a-3a1b-7e41-7d34-36e97c8b8cc2.jpeg">

　　どんどん Next をクリックしていき、そのまま Finish すれば、Git のダウンロードが終了します。
　一応ダウンロードできているか確認しておきましょう。この状態でコマンドプロンプトへ行きましょう。
　　このとき、**すでにコマンドプロンプトを立ち上げていた場合は必ず再起動してください。** また、**AndroidStudio も再起動しましょう。** 
　そうしないと、たった今インストールした Git を認識してもらえません。ちなみに、再起動をしないと、コマンドプロンプトの場合、以下のように表示されてしまします。

```DOS:
C:\Users\GitTestApp>git
'git'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません
```
　では、再起動が終わった状態で、コマンドプロンプト上で git と打って、以下のような感じで色々と表示されたインストール成功しています。

<img width="734" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3536323937382f35363162323965352d633733632d323165362d336365312d3935633961313838353732652e6a706567.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/9abffedb-2f83-3e9a-a950-19d61a9165be.jpeg">

# 3. AndroidStudio と Git の連携（2nd トライ）
　git のインストールが終わったら AndroidStudio を再起動しましょう。（もちろん上記で行っている場合は不要です。）
　もう一度 1 のプロセス、タブの VCS → Enable Version Control Integration（バージョンコントロールの統合を可能にする）をクリック → Git を選択して OK をクリック。すると今度は成功するはずです。下の方に黒色の背景に、緑色の文字で "Successfully....（表示時間が短くてスクショ取れませんでした。。すみません。）と表示されます。

　さらに、以下のようにファイル名が赤字になっているのが確認でききれば、無事バージョンコントロール下に置かれた状態になっているということです。（一度 Android Studio から Git 連携ができると、この色でコミットしていないファイル、変更があったファイル、等の区別がつくようになっています。）

<img width="151" alt="Oritinal11_1_HowToFigureOutItsSuccessfull.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/18abbdbd-da27-6348-3c46-143a5839b4f6.jpeg">

　では、この状態で VCS -> Import into Version Control（バージョンコントロールにインポートする）をクリックします。
<img width="384" alt="Original11_ConnectToGitHub.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/058e209e-650e-ee73-8e85-6465c69a8a96.jpeg">

## 4. Android Studio への GitHub アカウントの登録
　まだこの AndroidStudio から一度も GitHub にアクセスしていないのでログインするようにプロンプトが出ます。AndroidStudio に対して GitHub にアクセスする際に用いるアカウントを教えてあげるイメージです。Login: の部分はアカウント名ではなく登録時に使用したメールアドレスを入力します。また、この操作は Android Studio として初回のGit Hub へのアクセスである今回のみで、今後新しいプロジェクトを作成して GitHub に上げる場合は、ここで登録した GitHub のアカウント情報を用いて AndroidStudio から直接 Git 操作をしていくことになるので、今回だけ我慢して打ちましょう。

<img width="242" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3536323937382f30356564373235332d623662652d656236662d393661302d6266613436323537613337312e6a706567.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/90cac833-7456-4643-b3ef-c856449ca1f8.jpeg">


## 5. リポジトリの作成
　上記の Log In を押すと "Share Project On GitHub（GitHubにプロジェクトを共有する）" のプロンプトが出てきます。以下の情報を入力していきましょう。また、ここではローカルリポジトリの作成と同時に GitHub 上にもリモートリポジトリも作成されます。

- Repository name: リポジトリ名です。ここで入力した名前で GitHub 上にリポジトリが作成されます。
- Private: GitHub 上でプロジェクトを非公開にするか否かのチェックです。非公開にする場合はチェックしましょう。
- Remote: 今回最初のコミットになるので、origin で OK です。
- Description: プロジェクトの説明を書く部分です。

<img width="207" alt="Original13_ShareProjectOnGitHub.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/63572986-145e-28c0-c8c8-533aa3beb652.jpeg">

## 5. コミット（1st トライ）
　以上を入力し終えて、Share をクリックすると、GitHub にあげるファイルの選択画面が出てきます。ここではデフォルトで選択されているものをそのまま Add していきます。

<img width="356" alt="Original14_AddFilesForInitialCommit.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/1796be55-a0fc-f8ab-afb4-20ff4edc958c.jpeg">

　すると右下のウィンドウに、Can't finish GitHub sharing process. Successfully created project 'GitTestApp' on GitHub, but initial commit failed.（GitHub の共有プロセスを終了できませんでした。プロジェクト"GitTestApp"の作成には成功しましたが、最初のコミットが失敗しました。）と出ます。

<img width="248" alt="Original15_initialCommitFail.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/1cb0b469-18e9-0aee-5259-46d49b900761.jpeg">

　クリックして詳細も見てみましょう。

<img width="257" alt="Original16_initialCommitFail_detail.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/c05d7e85-33e9-d178-f4e9-ebaa59f6b26b.jpeg">

　ユーザー名とパスワードを登録してくださいと言っています。先ほど、リポジトリの作成には成功していましたね。リポジトリの作成とコミットはまた別の話だということを理解しないといけません。
　リポジトリの作成は**Android Studio に登録した GitHub アカウント情報**から行うことが可能です。一方、コミットする際にその情報として変更内容・変更日時・コミットしたユーザー情報等が登録されます。この時にユーザー情報として、**Git に登録されているユーザー情報**が使われます。Windows にいれた Git を使ってコミットするわけです。今はただ単にパソコンにインストールしただけなので、GitHub へのアクセスする情報がない状態になっているからです。

## 6. Git への GitHub アカウント情報の登録
　ということで、Git に GitHub のアカウント情報を教えてあげましょう。Git の本家のページも参考にしつつコマンドプロンプトに以下のコマンドを打っていきます。ここではユーザー名とメールアドレス が必要になってきます。（パスワードは必要ありません。）

```DOS:
$ git config --global user.name "GitHub でのユーザー名"
$ git config --global user.email GitHubに登録したメールアドレス
```
　こうするとこで、コミットする際に登録されるユーザ情報を Git に教えてあげることができました。

## 7. コミット（2nd トライ）
　この状態でもう一度コミットすると、、、
<img width="204" alt="Original17_CommitCodeAnalysis.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/7b77d62d-d260-6292-6f09-bc769dd267cb.jpeg">
　図だとerrorが0とwarningsが6つあるが大丈夫か？と聞いています。これはこのまま Commit で大丈夫です。すると、Console log のところに以下のように表示されて Commit が成功します。

# 8. プッシュ
　コミット、つまりローカルで変更して、その変更を確定しただけの状態なので、まだリモートリポジトリであるGitHubの方には反映されていません。なので、それをGitHub上でも反映させるために、Push するところまでやっておきましょう。
　これまでと同じく VCS → Git → Push と進みます。
<img width="375" alt="Original19_FirstPush.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/e7a5a48b-3f74-1958-36d9-a986d89cf872.jpeg">
　すると右下にウィンドウが現れ、以下のようにpushが成功したというメッセージが表示されます。
<img width="249" alt="Original19-1_FirstCommit_CheckOnAndroidStudio.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/4d924ec1-9c63-860c-1857-87bb7118cd66.jpeg">
　念のため、GitHub上でも確認しておきましょう。画像だと、24秒前にUpdateされているのが確認できます。

<img width="371" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3536323937382f62326334393238622d663161612d633635302d336339352d3138353563363336666261392e6a706567.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562978/9b12618d-e934-5cf3-8eb2-18eddd724858.jpeg">

以上です！！