マージ前にはきちんと差分を見ましょう
【想定】
現在のブランチ:issue001-fix-xxx
マージ先ブランチ:master
### 前回コミット(HEAD)からの差分
```sh
git diff HEAD
```
### ステージングエリアとHEADとの差分
```sh
git diff --staged
git diff --cached
```
ステージングエリアというのはaddしたファイル群のことですね。ちなみに--staged と --cachedは同じ結果。お好きな方をどうぞ
<br>
~~~ コミット ~~~
### 自分がしたコミットを確認
```sh
git log -p --name-only (修正したファイル一覧)
git log -p (変更内容差分, ファイル名を引数で渡すと単体で指定可)
git log -p --ignore-space-change (スペースや改行で差分が見づらいとき)
```
<br>
~~~ マージ先(master)に切り替える(```git checkout master```)
編集途中のファイルが残っているからできないと言われたら
下記どちらかを実行後チェックアウト:arrow_lower_left:
```sh
git checkout . (編集内容を取り消す(HEADの状態に戻す))←※コミットした内容は消えません
git stash save (編集内容をスタックする(後で取り出せます))
```
### masterブランチを最新に更新(masterブランチなう)
```sh
git pull --rebase origin master
```
リモートの更新をそのまま持ってくるだけなので```--rebase```でマージコミットは作らない
### 他人の更新を確認する
```sh
git log --oneline
(念のため自分の状態も確認しておきたい人は下記コマンド )
git status -s
```
### **プルリクエストで見られる差分を確認**
```sh
git diff master...issue001-fix-xxx
```
```git diff [マージ先ブランチ]...[マージ元ブランチ]```はマージによっての修正内容が、プログラム単位の差分で見られます。(※本当はコミット単位でも見たいんですが、その方法はわかりません。知りたい :fearful:
追記)コミット単位-> [Qiita-[Git]ブランチ間の差分をコミット単位で知る・見る](https://qiita.com/ikenji/items/fecd39966bbf463da3f4)
[Qiita-プルリクエストで表示される差分の仕組みを GitHub に問い合わせたときの話](https://qiita.com/ikenji/items/7417d4f41ac8b564b36d)
### いざマージ!
```sh
git merge --no-ff issue001-fix-xxx
```
マージ単位でrevert(打ち消し)できるようにこの場合は```--no-ff```でマージコミットをしっかり残しましょう
```git log --author [自分の名前]```
masterに自分が作ったコミットがちゃんとマージされています
<br>
お疲れ様でした!
```git revert```や```reset```、```reflog```などの取り消し、修正の仕方や、
```stash```や```blame```などのオシャレなコマンドに関しては後日別の投稿でご紹介する予定です。
<br>
----
### 過去に書いた Git関連の記事 :arrow_double_down:
[Qiita-何も知らない人がGitとGitHubを独学で知る](http://qiita.com/iKenji/items/367e8344490dd37e14f0)
[Qiita-git checkout できないとき、私はこうしてます。](http://qiita.com/iKenji/items/c03bd6e72f57291da24c)
[Qiita-プルリクエストで表示される差分の仕組みを GitHub に問い合わせたときの話](https://qiita.com/ikenji/items/7417d4f41ac8b564b36d)
[Qiita-ブランチ間の差分をコミット単位で知る・見る](https://qiita.com/ikenji/items/fecd39966bbf463da3f4)