初心者によるGit,githabのこれだけでチーム開発！

#Gitとの出会い
僕がGitと出会ったのは最近ですが、なぜかgit、リポジトリ、リモート、ローカル、などいろんな言葉が出てきて、もう意味がわからない、、そんな僕と同じ悩みの人に向けて自分なりに咀嚼して、説明していきます！※間違っている場合はコメントください

それを解決するために、とりあえずザッと言葉を解説したいと思います。

#<font color="Red">Gitで出てくる言葉たち:family_mmbb:</font>
* **リポジトリ**　→ データの保管箱。
* **リモート**　→ インターネットに通じて結ばれていること。
* **ローカル**　→ いま見ている君のpcのこと。
* **コミット**　→ pc上に記録すること。コメントもかけるぞ！
* **プル**　→ 変更したファイルをアップロードすること。
* **プッシュ**　→ ファイルをダウンロードすること。

#Gitをなぜ使うの？
何と無く分かりましたか？Gitは初心者にとってややこしいのです。
じゃあ、なんでGitをみんなが使うのか。
####チーム開発において、めちゃくちゃ活躍します。
みんなでアプリを作っていたとして、そのためには膨大なコードが必要となります。
その膨大なコードを管理をするのに、みんながめちゃくちゃにコードを変更して、それが誰がやったか、どれを変更したのかが分からないと初日でめちゃくちゃになり、もうアプリは作れません。

それを大事なコードをがっちり管理し、誰がやったかを明確にし、そして変えていけないコードを変えてしまった時にも戻せます。エンジニアになるとチーム開発が当たり前ですから、そのためにはGitが必要になるわけですね！

#これだけ抑えろ！<font color="Red">Gitの3Step:star:</font>
長くなりましたが、Gitの使い方の３Stepです！
Gitの基本を抑えることができ、さらにチーム開発にも役に立ちます！

**<font color="Red">Step1</font>  コードを変更**
↓
**<font color="Red">Step2</font>  共有する準備をする**
↓
**<font color="Red">Step3</font>  共有する**

##<font color="Red">Step1 </font> 内容変更したファイルを選択しよう！

```Terminal:ターミナル
git add ファイル名
```
共有する準備としては、ファイルを選択する必要があります。
ファイルを選択するには、上のコードで選択することができます。

###<font color="Red">Step2</font> PC上に変更したファイルを記録して、コメトを残そう！

```Terminal:ターミナル
git commit -m “メッセージ”
```
ここで大事なのは、commitはメッセージを残すだけじゃなく、**情報をアップロードしやすいように、ローカルリポジトリ(君のpcのデータ保管箱)に記録する**ということです！

これが終わると準備OKです。
##<font color="Red">Step3</font>記録したファイルをgithab上にアップロードする！
まず**リモートリポジトリ(ネット上のデータ保管箱)を登録**する必要があります。それを簡単に作れるサービスが、**github**です。

※githubのアカウントを作るのは、下のULRのサイトを参考にしてください。
https://reffect.co.jp/html/create_github_account_first_time

###:sunny:<font color="Red">ログインしてnewリポジトリを押そう！</font>

ログインしたら、まず＋ボタンを押して赤い四角で囲ってある、**new repository**というところを押します。これは、**データ保管箱を新しく作る**ってことです。新しいアプリ制作や、何か作るたんびにここに押し込んでいきます。
![github1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1385887/68ce96ea-9283-1a7f-9537-d229b5170828.jpeg)
押した後、リポジトリの名前を決める画面になります。落ちついて、自分が好きな名前か自由に書きましょう。でもあまり長くなると、URLの名前が長くなるので注意です。

<font color="Red">例　html-site, rails-sample, sample-git-repository</font>

名前が決まったら、みんなに見せるか、自分だけに見せるかを決めます。
railsチュートリアルの人はプレイベートにしますが、パブリックにしてもそこまで変わりません。最初は自分の成果物などを知らせるために、パブリックにするのがオススメです。
![github3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1385887/68a239c3-b84f-225c-6cfc-211fb4586416.png)
次の画面に進むと、これが出てきますがPC上のデータ保管箱に接続するための、URLです。HTTPSのURLを一番端っこのファイルアイコンを押すと、コピーができるのでコピーしておいてください。
![github2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1385887/f053b5b4-25ab-e0ca-12ea-9e1da4299795.jpeg)
やっとここに戻ってきました。:frowning2:
ここでターミナルに戻ります。そこに、git remote add originをコピペして、さっきコピペしたgithubのURlを貼れば登録完了になります。

```Terminal:ターミナル　
git remote add origin githubで取得したURL
#一般的にoriginという名前にします。
```
これから、ローカルリポジトリ(PC上のデータ保管箱)からリモートリポジトリ(github上のデータ保管箱)にデータをアップロードしていきます。そのことをプッシュと言います。

```Terminal:ターミナル　
git push origin master
#originはリモートリモートリポジトリの名前です。
```
最後に、リモートリポジトリ(github上のデータ保管箱)にアップロードしたファイルをローカルリポジトリ(PC上のデータ保管箱)にダウンロードします。それをプルすると言います。
チーム開発では、お互い終わった作業をアップロードするので日に日にファイルの中身が変わってきます。自分も含めてプッシュしてプルすることで、最新の作業ができるということです。

```Terminal:ターミナル　
git pull origin master
```

これをひたすら回すだけです。

```Terminal:ターミナル
git add ファイル名
```
```Terminal:ターミナル
git commit -m “メッセージ”
```
```Terminal:ターミナル　
git push origin master
#originはリモートリモートリポジトリの名前です。
```
```Terminal:ターミナル　
git pull origin master
```

これで君も、チーム開発者になれるね。
おしまいっ！