---
# System prepended metadata

title: はじめに

---

# はじめに
gitの使い方をまとめていくよ
## なんでこれを見る必要があるの？
* 代々アプリはgitで管理してて、このgitが非常に開発に向いているから
* これまでのコードと新しいコードの差分がわかりやすい
* 複数人で開発するときにお互いのコードを統合しやすい
* 誤って変更を加えてしまっても簡単に戻せる

など色々と**いい感じ**にしてほしいことを**いい感じ**にしてくれるから
# Gitを使う上で必要な知識
ちなみにこれ読むより[このページ](https://backlog.com/ja/git-tutorial/intro/01/)を見た方がわかりやすいよ！
ちょーざっくり理解したい人はこのページ見てね
### リポジトリ
- ファイルを管理するところだよ:+1: 
- **ローカルリポジトリ**（自分のパソコン）と**リモートリポジトリ**（例:Git Hub）があよ
- 自分のパソコン（ローカルリポジトリ）に書いたコードをgit hub（リモートリポジトリ）に上げたり、逆にリモートリポジトリのデータをローカルリポジトリにダウンロードして開発するよ
- Icloud使って写真をアップしたり、ダウンロードしたりするイメージに近いかな
### ローカルとリモート
* 自分のPCで開発した内容はローカルリポジトリ（以下ローカル）で管理するよ
ローカルでの変更をリモートリポジトリ（以下リモート）に上げることでみんなが見れるようになるよ
* 誰かがリモートにあげた変更をローカルにダウンロードしてさらに変更してリモートにあげて...みたいに開発します
### コミット
自分のパソコンで加えた変更をローカルリポジトリに保存すること
### プッシュ
コミットで保存したファイルの差分をローカルからリモートにアップロードすること
### プル
リモートからローカルにファイルの差分をダウンロードすること
### ブランチ
やっぱり[このページ](https://backlog.com/ja/git-tutorial/stepup/01/)がわかりやすいです
* 同時並行で開発したいときに他の開発の影響を受けないために作る自分用のコピーみたいなイメージ
* 一つのブランチ(mainブランチ)から枝分かれするからブランチって言うんだよ
### スイッチ（チェックアウト）
ローカルのブランチを別のブランチに切り変えること
### マージ
ブランチとブランチを統合すること
### プルリク（プルリクエスト）
「マージしたいよ」ってことの宣言

他にも色々git専門用語あるから気になったら調べてみてね

# リモートブランチをローカルに持って来る
ちなみに最初に全部持ってくることをクローン（複製）と言います
### まずはGitとSSH接続できるか確認しよう！
ターミナルで
```
ssh -T git@github.com
```
を実行して
```
Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.
```
が表示されたら[接続できてるよ](https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection)！([username]にはgit　hubのusernameが入る)
もし接続できてなかったら[このページ](https://zenn.dev/schnell/articles/0e1c2e9db5c08d)を参考に接続しよう
[このページ](https://codelikes.com/github-ssh-connection/)もわかりやすいよ！！

### リモートリポジトリからクローンしよう!
まずはコードを置いておきたい適当なディレクトリに移動ししよう
[このページ](https://codelikes.com/github-ssh-connection/#:~:text=PR-,%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%ABSSH%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B,-%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%83%AA)を参考にクローンしてみよう
(git clone ・・・)のコマンド実行するところまでだよ！！

# ローカルにブランチを作ろう
クローンできたら今度はブランチを作ってみよう
## 今いるブランチを確認する
```
git branch
```
で今どのブランチがあってどこのブランチにいるかわかるよ
## ブランチを移動する
もし、今いるブランチが分岐したいブランチじゃないときや、既に移動したいブランチがあるときは、
```
git switch ブランチ名
```
を実行しよう
## 新しいブランチを作成してブランチを移動する
新しくブランチを作成してそこに移動したい場合は
```
git switch -c ブランチ名
```
を実行すると新しいブランチ名が生成されてそのブランチに移動できるよ
試しに
```
git branch
```
を実行して正常にできてるか確認しよう
# 変更を加えよう
**ファイルに思いのまま変更を加えていこうぜ！！！**
開発じゃ
# 変更をリモートにプッシュしよう
プッシュする前に今いるブランチが正しいか確認しよう
```
git branch
```
ついでに変更があったファイルを確認しよう
```
git status
```
具体的な差分を見たい場合は
```
git diff
```
全てOKなら
```
git add .
```
これで今ステージングに変更が上がったよ(わからんくてもなんとかなる)
さあ次にコミットだ！！
```
git commit . -m 'ここにコミットメッセージを書いてね'
```
これでコミットされたよ(わからんくてもなんとかなる)
最後にプッシュだ！！
```
git push -u origin ブランチ名
```
これでリモートにプッシュできたよ。git hubで見てみよう
このへんについて理解したかったら[これ](https://zenn.dev/atsushi101011/articles/4e0e36d238a3b8)を見てみよう

その後は
```
ファイルに変更加える
git add .
git commit . -m 'コミットメッセージ'
git push
```
の繰り返しだよ
# 注意点
* ちょくちょくプッシュするようにしよう（もし君のPCがぶっ壊れてもgitにデータが残ってるから安心さ！）
* git hubでファイルに操作を加えるのはプルリクを出す時とマージするときだけ！
* 勝手にマージするのはやめよう
* たとえどんな状況になっても-f(fオプション)だけは使わないでね！！
* ちょっと調べてわからないことはすぐに聞こう（git の使い方で時間を使うのはもったいない）
* 慣れろ