gitコマンドメモ

#gitコマンドメモ
自分用です。（簡易メモです。すみません。）
@horri1520 くんがとても丁寧に教えてくれました。
いつもありがとう。🙏

###リポジトリのクローン
```zsh
git clone {リポジトリクローンするときのURL}
```
「クローン」のボタン押してSSHかHTTPSか選べるやつをどっちか貼る。
（SSHキーの設定の関係で、うまくいったりいかなかったりする。）

###feature branchで作業
```zsh
feature/#{Issue Number}_describe_issue
```

参考：Git-flowって何？
https://qiita.com/KosukeSone/items/514dd24828b485c69a05

###新しいbranchを作って移動
「-c」は「create」のc。

```zsh
git switch -c "feature/#164_implement_contact_page_for_mobile"
```
結果↓

```zsh
Switched to a new branch 'feature/#164_implement_contact_page_for_mobile'
```
---

###branch作るの忘れてた時

####stash： 変更点を別の場所に一旦退避させたい時。

```zsh
git stash
```
####stash： stashさせてたのを戻す

```zsh
git stash pop
```
---

###add
変更したものを全部stageに追加

```zsh
git add .
```
「.」は全部stageに追加する

```zsh
git add .eslintrc
```
特定のファイルのパス（上は「.eslintrc」のファイルをaddしたかったとき）
とか

```zsh
git add .eslintrc -p
```
特定のファイルの、行単位でのcommit（上は「.eslintrc」のファイルの中の行単位でcommitするか決めれる）
とかもあるよ。

hunkっていうまとまり単位でcommitしますか？ってきかれるので[y,n]で追加するかを決めれる。

###コミットメッセージ
例えば

```zsh
git commit -m '[add] create form #{Issue Number}'
```
とか

```zsh
git commit -m '[fix] css fix #{Issue Number}'
```
とか

```zsh
git commit -m '[upgrade] eslint version setting #{Issue Number}'
```
とか

[add] 新規（ファイル）機能追加
[fix] バグ修正
[hotfix] クリティカルなバグ修正
[update] 機能修正（バグではない）
[change] 仕様変更
[clean] 整理（リファクタリング等）
[disable] 無効化（コメントアウト等）
[remove] 削除（ファイル）
[upgrade] バージョンアップ
[revert] 変更取り消し

`#{Issue Number}`にはissueの番号を記載する。
（github上でissueと紐づいてくれるので便利になる。）

参考：Gitのコミットメッセージの書き方
https://qiita.com/itosho/items/9565c6ad2ffc24c09364

###commitメッセージを修正したい時

直前のcommitメッセージであれば、下記で修正可能。

```zsh
git commit --amend -m "コメントを修正する"
```

それ以上前は
参考：Gitのコミットメッセージを後から変更する方法をわかりやすく書いてみた
https://www.granfairs.com/blog/staff/git-commit-fix

###push
```zsh
git push
```

branch切った直後だと、親branchがわからないと言われるときもある。

```zsh
git push --set-upstream origin {branch名}
```
とか出てきたらコピペして貼ってエンター。

```zsh
*[new branch] {branch名} -> {branch名}
```
とか出たら、ブランチが増えたよ。
githubのリポジトリのページの「master」のところ押したら
新しくブランチ増えてるよ。
![スクリーンショット 2020-10-16 11.34.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321986/e35c7eb8-5f7b-ebc5-63b2-de3d513c3033.png)

「compare」押すと、
masterと比較して、どこを変更にしたか見れるよ。
![スクリーンショット 2020-10-16 11.36.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321986/5d3211ca-9bf3-ce05-ea5e-f96444233cdb.png)

###プルリク先を間違ったら
githubのプルリクページのeditから変えれるよ。
![スクリーンショット 2020-10-16 21.56.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321986/a1449e4c-394e-3c25-4489-8c2be1bf5ae1.png)
※間違って`master`とか選んじゃったら、ここから`staging`とか選び直そう！

---
---

###branchを削除する
例えば「develop」branchを削除する
deleteのD。

```zsh
git branch -D develop
```

###git log
今までの変更履歴のログを見る。
エンター押すと下に行く。

```zsh
git log
```

cimmitの横に書いてあるのがcommitのID。
リバートとかリセットとかしだすと使う。

###他
リバートとかリセットとかある

###抜けたい時は
control + z
注意：「command」ボタンと間違えるので、「control」ボタンです。

---

###メモ
教えていただいたメモ🙏✨

```zsh
git add .

git commit -m "コミットする内容のコメント"

git checkout master
// →  masterへブランチ切り替え

git pull origin master
// →  最新のマスター取得

// develipの時
git pull origin "develop"

git checkout xxxxxx
// → xxxxxx 自分の作業ブランチ名

git merge master
// → 最新master(誰かが修正したものが入っているかもしれないmasterとマージ)

git checkout xxxxx
// → 自分の作業ブランチへ切り替え

//masterのほうが先に進んでた時
// 自分の作業ブランチに移動して
git merge master
// → 最新masterと自分のブランチをマージ

// masterよりも先に進んでる時
// masterブランチに移動して
git merge {任意のブランチ名}
//masterに{任意のブランチ名}をmerge

git push origin xxxxx
// → 自分の作業ブランチをpushする
```

```zsh
git branch
// 自分がいるブランチ
```

```zsh
「esc」+「:」+「q」で抜けれる
```
---

#ブランチ名の変更

今開いてるブランチ名を変えたい

```terminal
git branch -m <新しいブランチ名>
```

任意のブランチ名を変えたい

```terminal
git branch -m <古いブランチ名> <新しいブランチ名>
```
情報元🙏：
gitのローカルのブランチ名を変更したい
https://qiita.com/suin/items/96c110b218d919168d64