LoginSignup
174
166

More than 3 years have passed since last update.

git 差分を見る

Last updated at Posted at 2016-04-08

マージ前にはきちんと差分を見ましょう

【想定】
現在のブランチ:issue001-fix-xxx
マージ先ブランチ:master

~~~ プログラム修正後 ~~~

前回コミット(HEAD)からの差分

git diff HEAD

ステージングエリアとHEADとの差分

git diff --staged
git diff --cached

ステージングエリアというのはaddしたファイル群のことですね。ちなみに--staged と --cachedは同じ結果。お好きな方をどうぞ


~~~ コミット ~~~

自分がしたコミットを確認

git log -p --name-only (修正したファイル一覧)
git log -p (変更内容差分, ファイル名を引数で渡すと単体で指定可)
git log -p --ignore-space-change (スペースや改行で差分が見づらいとき)



~~~ マージ先(master)に切り替える(git checkout master)
編集途中のファイルが残っているからできないと言われたら
下記どちらかを実行後チェックアウト:arrow_lower_left:

git checkout .  (編集内容を取り消す(HEADの状態に戻す))←※コミットした内容は消えません
git stash save (編集内容をスタックする(後で取り出せます))

masterブランチを最新に更新(masterブランチなう)

git  pull --rebase origin master

リモートの更新をそのまま持ってくるだけなので--rebaseでマージコミットは作らない

他人の更新を確認する

git log --oneline 
(念のため自分の状態も確認しておきたい人は下記コマンド )
git status -s 

プルリクエストで見られる差分を確認

git diff master...issue001-fix-xxx

git diff [マージ先ブランチ]...[マージ元ブランチ]はマージによっての修正内容が、プログラム単位の差分で見られます。(※本当はコミット単位でも見たいんですが、その方法はわかりません。知りたい :fearful:

追記)コミット単位-> Qiita-[Git]ブランチ間の差分をコミット単位で知る・見る

Qiita-プルリクエストで表示される差分の仕組みを GitHub に問い合わせたときの話

いざマージ!

git merge --no-ff issue001-fix-xxx

マージ単位でrevert(打ち消し)できるようにこの場合は--no-ffでマージコミットをしっかり残しましょう

git log --author [自分の名前]
masterに自分が作ったコミットがちゃんとマージされています


お疲れ様でした!
git revertresetreflogなどの取り消し、修正の仕方や、
stashblameなどのオシャレなコマンドに関しては後日別の投稿でご紹介する予定です。



過去に書いた Git関連の記事 :arrow_double_down:

Qiita-何も知らない人がGitとGitHubを独学で知る
Qiita-git checkout できないとき、私はこうしてます。
Qiita-プルリクエストで表示される差分の仕組みを GitHub に問い合わせたときの話
Qiita-ブランチ間の差分をコミット単位で知る・見る

174
166
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
174
166