【初心者向け】Git, Githubをとりあえず使えるようになる

# :spades: はじめに
この記事は、

:::note
Git, Githubって何？聞いたことない
:::
:::note
Git, Githubをとりあえず使ってみたい
:::
という方が対象です。
逆に、

:::note warn
自分がリーダーとなって開発を進めていきたい
:::
:::note warn
Git, Githubの中身の理解を深めたい
:::
という方は対象にしていないので別の記事を参考にしてみてください！

できるだけ専門用語を使わずに分かりやすく説明したつもりです。
分からない部分があればコメントください！

Git, Githubの初期設定方法はここらへんの記事が参考になるかと思います。

https://phoeducation.work/entry/20210720/1626735480

中身を最初から理解するのは難しいので、とりあえず使えるようになることを目標にこの記事を書いています！


# :spades: Git, Githubの概要
Git = 自分のPC内でプログラムのバックアップをとっておけるもの
Github = Gitに保存してあるデータをクラウド上に保存しておけるもの

なんとなくのイメージはこれでいいと思います。
Git, Githubを使うことでプログラムをバックアップしておけたり、他の人と共同開発したりすることができます。

ここからその使い方を説明していきます！
黒い背景で囲っている部分はターミナルやコマンドプロンプトに入力するものを表しています。



# :spades: プログラムを作り始める前に一回だけすること


## :diamonds: 自分で1からプログラムを書きたいとき
GitとGithubの両方の初期設定をする必要があります。
まずはGithubの方からいきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/f811bdf3-deb7-4f72-3b5a-82f4a7b59056.png)
プロフィール画面に行ったら、赤で囲った部分を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/64bf2b87-408d-57ae-18c3-274d9ecd0d79.png)
そして、赤で囲った部分を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/2d4458ce-7f2d-9e0d-d2a1-449614a95576.png)
そして、任意の名前を入力して、`Create repository`を押します。
これでGithub側の初期設定は終了です。次にGitの初期設定に移ります。
```
git init
```
これでGitの初期設定は終了です。次にGitとGithubを連携していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/11d8118b-225a-940e-cc90-daf95c205343.png)
赤の部分を押して、URLをコピーしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/580cb351-964f-344a-c62c-97813f6a82d3.png)
上の画像の、赤で囲った部分に書かれているコマンドを入力していきます。
```
echo "# sample" >> README.md
```
※もしエラーがでたら、`README.md`という名前のファイルを作ってください。
※`git init`はさっき入力したから入力しなくてOK
```
git add README.md
```
```
git commit -m "first commit"
```
```
git branch -M main
```
```
git remote add origin <コピーしたやつ>
```
`<コピーしたやつ>`の部分にコピーしたURLを貼り付けてください。
```
git push -u origin main
```
これでGitとGithubの連携が完了しました。


## :diamonds: 他の人のプログラムを使いたいとき
オンライン上のGithubで他の人が公開しているプログラムは自分のPCにダウンロードして使うことができます。
それをするためにはまずダウンロードしたいプログラムの公開URLを取得します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/a1729c11-dfaf-4ad9-eff3-b3e8bcd0f693.png)
赤の部分を押したら、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/225b7fec-f036-eae7-cdea-3019f87b20ee.png)
赤の部分を押してURLをコピーしましょう。

```
git clone <コピーしたやつ>
```
`<コピーしたやつ>`の部分にコピーしたURLを貼り付けてください。
これで自分のPCに他の人が書いたプログラムがダウンロードされたと思います。


# :spades: 新しい機能を追加するときにすること
新しい機能を追加したいときには、インターネットに公開している環境をコピーしてコピー先の環境で開発を進め、コピー先の環境を公開している環境にくっつける、みたいなことをします。
これをGit, Githubではブランチというものを使って行います。

例）
`main`という名前のブランチ = インターネットに公開するもの
`develop`という名前のブランチ = 開発者しか見れないもの

この例では、新しい機能を追加したいときには`develop`ブランチでいったん開発をして、ひと段落したら`main`ブランチのデータを`develop`ブランチのデータで上書きする、というようなことをします。

今は、「開発をするためにブランチというものを使うんだな」くらいの理解でOKです！
それではブランチに関するコマンドを見ていきましょう。

## :diamonds: ブランチの確認
```
git branch
```
これを入力することで今どんなブランチが存在しているか、今どのブランチにいるのかを確認することができます。

## :diamonds: ブランチの作成
```
git branch <ブランチ名>
```

## :diamonds: ブランチの移動
```
git checkout <ブランチ名>
```

# :spades: 作業を開始するときにすること
## :diamonds: 保存データの更新
Gitに保存されている内容をGithubに保存されている内容に一致させるために、
```
git pull origin <ブランチ名>
```
と打ちます。
これを忘れると面倒になることがあるので忘れないようにしましょう。


# :spades: プログラムを書くときに日常的にすること


## :diamonds: 保存データの更新
プログラムを更新したらGitとGithubに保存されているデータも更新していきます。
まずはGitの方からします。
```
git add <更新したファイル名>
```
これを入力して、Gitのデータを更新するファイルを指定します。
※`<更新したファイル名>`には、フォルダ名やを入れることもできます。その場合はフォルダに入っているファイルで更新があるものだけを指定できます。
```
git commit -m "<ここに更新の内容を書きます>"
```
これを入力して保存データを更新します。
更新内容を書いておくことで、後から元に戻したいときにどこまで戻ればいいかを分かりやすくします。
これでGit側の更新は終了です。次にGitで更新した内容をGithubでも更新させます。
```
git push origin <ブランチ名>
```
これでGithub側も終了です。



# :spades: さいごに
まだまだGit, Githubにはたくさんのコマンドがありますが、最低限この記事に書いてあることくらいができればひとまずは大丈夫だと思います。
ただ、最初にも書いたようにこの記事は先輩やリーダーのもとで教えてもらいながら使うことを想定しています。
そのため自分がリーダーとなって開発するよってときにはまた別の知識をつける必要があります。
そのときはまた別の記事を探してみてください。

この記事が誰かのお役に立てればうれしいです！
最後まで読んでいただきありがとうございました！