GitHubのアカウント登録からリポジトリ操作まで

##設定環境
Windows10

##書いてる内容
今更ながら、、GitHubのアカウント登録から基本的なリポジトリ操作までを
覚え書きとして。。
1.GitHub アカウント登録
2.リポジトリ作成前の設定
3.公開リポジトリの作成
4.ローカル環境からリポジトリを操作

##そもそもGitHubとは
バージョン管理システムソフト｢Git｣で扱うリポジトリという
ソースコードなどを格納するデータの貯蔵庫をインターネット上に提供しているのが
GitHubというウェブサービス。
GitHub上に作成したリポジトリは、基本的に全て公開されるが、有料サービスを利用することで
指定したユーザーからしかアクセスできないプライベートなリポジトリとして作成することが可能。

まぁ、｢Git｣とか｢GitHub｣とかで検索すればわんさかとでてきます。(適当)

##アカウントの作成
まずは、GitHubの[トップページ](https://github.com)へアクセス
![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/d2352ad3-8e62-0deb-42e6-cac24dfbaa83.png)

｢Pick a username｣に希望するIDを英数字で入力します。
※ここで入力したusernameが公開ページのURLとなる｢`http://github.com/○○○`｣の部分として使用されます。

｢Your email｣｢Create a password｣を入力し、｢Sign up for GitHub｣をクリック。

 
 
　

入力項目に問題がなければプラン選択画面に遷移。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/0e54fd09-ba11-798d-532b-4fb860b75f24.png)

とりあえずアカウントを作成するだけであれば、｢Unlimited public repositories for free｣を選択し、
｢Continue｣をクリック。
(有料プランへはあとからでも変更可能)

　
　

Welcomeページに遷移。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/f18daf70-6c62-1135-5a4d-567a9e8b9ee0.png)
プログラミング経験や、GitHubをどのように使う予定なのか、などなどのアンケートがあるので
適当に選択し、｢Continue｣をクリック。(面倒くさければ、画面下の skip this stepをクリック)

　
　

![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/c94ed3fb-beae-7938-d686-39afa78d0649.png)
Git、GitHubについて学びますか？と聞かれるので、｢Start a project｣をクリック。
　
　


![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/47216659-ecbe-bf02-415f-2c1cf007b208.png)
登録したメアドを確認してと言われるので、素直に確認。
　
　

![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/58c56496-8211-8200-0f92-7bd13ab77622.png)
｢Verify email address｣をクリック

 

![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/08031018-0c02-38af-d38e-f25870879106.png)
するともう一度同じページが表示される(はず)ので、今度は右上のアイコンをクリック - Your Profileを選択

　
![github.png](https://qiita-image-store.s3.amazonaws.com/0/136774/97e8521e-c644-322d-ac67-a3823e54ac56.png)

ログイン時に指定したusernameのURLでアカウントが作成されました。
　
##リポジトリ作成の前に
GitHubでは、作成したリポジトリへのアクセス認証をSSHの公開鍵認証で行うようなので、
公開鍵認証に必要なSSH Keyの作成と、GitHubへの公開鍵登録を行います。

###公開鍵作成
ローカル環境のGit Bashを起動してください。
(Gitのインストールがまだという人は [こちら]()の記事を参考にGitをインストールしてください。)


![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/a6c92378-e4d6-a37c-234e-da7815613233.png)
以下のコマンドを実行してください。
ssh-keygen -t rsa -C "`your-email@example.com`"

※｢`your-email@example.com`｣の部分はGitHubに登録した自分のメアドに変えてください。
　パスフレーズは認証の際に入力します。覚えやすい(でも複雑な)ものにしてください。
　
　
![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/fafa79b2-1676-54cc-1960-449e8f720f16.png)
パスフレーズを入力すると、実行結果が表示されます。
id_rsaというファイルが秘密鍵でid_rsa.pubが公開鍵になります。


###公開鍵の登録
GitHubに公開鍵を登録して、秘密鍵を用いてGitHubと認証できるようにします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/31df8553-c8d8-610c-99b9-a3ce3bbeab7b.png)
右上のアイコンを選択 - Settingsをクリックします。
　
　

![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/89cc5e85-93f1-972d-43a9-4de028631719.png)
｢SSH and GPG keys｣を選択
　

![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/95c1da83-a744-784d-8680-63ae1329e4f2.png)
｢New SSH Key｣を選択
　
　
![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/8d9109b1-9348-2b1f-25ef-46a2bd560d84.png)
入力画面が表示されるので、Titleと、SSH Keyの内容を登録します。
※Titleは適当な名前を入力してください。
※SSH Keyの内容は、ローカル環境に作成したid_rsa.pubの内容をコピーして貼り付けてください。
　id_rsa.pubの内容はエディタソフト、もしくは以下のコマンドで参照可能です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/754b0290-5364-622f-a842-5e2531d807a3.png)
　
　

｢Add SSH Key｣を押すと登録が完了します。
無事に登録されれば、登録したメアドに公開鍵登録完了のメールが届きます。
以上の設定が終了すれば、手元の秘密鍵を利用してGitHubとの認証と通信ができるようになります。


以下のコマンドを打って、動作確認します。
`ssh -T git@github.com`
![image.png](https://qiita-image-store.s3.amazonaws.com/0/136774/e5082777-e101-031c-7468-1d01201f12b3.png)

最後のメッセージが表示されれば、認証完了です。







##公開リポジトリの作成

右上のツールバーにある｢New repository｣を選択します。
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/a0db37a4-cae5-5777-eae4-55fb6b875386.png)
　

リポジトリを新規作成する画面が表示されるので、各項目を適当に入力し、｢Create repository｣をクリックします。
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/0afd9054-0c42-b43a-b681-a85e2ef78531.png)



｢Repository name｣・・・リポジトリの名前を入力。
｢Description｣・・・リポジトリの説明を入力。空白でも大丈夫。
｢Public / Private｣・・・リポジトリの公開/非公開を設定。非公開(Private)としたい場合は、有料プランの契約が必要。
｢Add.gitignore｣・・・.gitignore(※1)ファイルを初期化時に作成してくれる。今回はお試しにJavaを選択。
　　　　　　　　　　※1 Gitリポジトリでの管理対象外のファイル・ディレクトリを記述するファイル。
｢Add a license｣・・・リポジトリに含めるライセンスコードを指定。
　　　　　　　　　　ライセンスの内容が書かれたLICENSEファイルがリポジトリに作成される。(今回は指定なし)
　

リポジトリが作成されました。
`｢https://github.com/ユーザー名/hello-github｣`のURLが今回作成したリポジトリのページになります。
現時点からこのリポジトリは公開された状態になります。
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/acfef959-30cb-12f4-6139-b3a6d294ad20.png)
リポジトリに入っているファイルは".gitignore"と"README.md"ファイルのみです。
リポジトリ作成時に定義したことによって作成されたファイルになります。

README.mdファイルはリポジトリのトップページに自動的に中身が表示されます。
このリポジトリに入っているソフトウェアの概要、利用する為の手順、ライセンスなどを明記するのが一般的らしいです。
Markdown記法で記述すれば、マークアップしてくれます。


##ローカル環境からリポジトリを操作
実際にリポジトリを手元の環境に持ってきて、変更を加えてGitHub上のリポジトリに反映させてみます。

まずリポジトリのURLを取得します。
リポジトリ画面に｢Clone or download｣を選択すると、GitリポジトリへアクセスするためのURLが表示されます。
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/1fa6b4ea-4fb7-8041-851c-b2ed1dda911f.png)

｢Use SSH｣-｢Use HTTPS｣を選択することで、SSH経由/HTTPS参照 でGitリポジトリへアクセスするURLが表示されます。
どちらでもいいので、URLをコピーします。


git cloneコマンドを利用して、手元の環境へリポジトリをcloneします。
(Gitのインストールがまだという人は [こちら]()の記事を参考にGitをインストールしてください。)

git clone "コピーしたURL"
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/4349de9e-3a4b-53d1-6e19-abf1c8ce2055.png)
※Enter passphrase for key ～ と聞かれたら、前段の公開鍵作成で登録したパスフレーズを入力してください。

現在のディレクトリの直下にhello-githubというディレクトリが作成されます。
これが取得したリポジトリで、中には".gitignore"と"README.md"があることが確認できます。
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/8355cd2a-da03-6abe-811b-dec4c690495b.png)

　

リポジトリに変更を加えてみます。今回はREADME.mdの中身を書き換えます。
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/3ae6ec5c-abd0-c6a9-1a4f-6685df7609d0.png)


内容を保存したら、変更をcommitします。
ローカル環境に作成されたhello-githubディレクトリ内で以下コマンドを実行します。

git add README.md
git commti -m "好きなコメント"
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/4da86b4f-9ebd-c55d-0a61-f80e22964700.png)


ローカル環境で変更を加えたファイルをGitHub側のリポジトリへ反映します。
なにも指定しなければ、cloneしてきたリポジトリに対して、pushしてくれます。

git push
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/62d3ac68-6a7f-0f77-409c-3acc8092fdcb.png)

無事にpushできれば、ブラウザで再度GitHubにアクセスしてみるとREADME.mdファイルの内容が更新されていることが
確認できます。
![image](https://qiita-image-store.s3.amazonaws.com/0/136774/80ba1dd3-5a68-37a6-72c9-ac1f1f368fd0.png)

リポジトリのcommits数なども増えているのが確認できます。

##まとめ
GitHubにアカウントを作成し、ローカル環境との連携に必要な設定と、リポジトリの作成、
変更をコミットまでの流れについてまとめました。
(誰かの役にたてば。。。)