Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

git 差分を見る

More than 1 year has passed since last update.

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

【想定】
現在のブランチ: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-ブランチ間の差分をコミット単位で知る・見る

giftee
giftee (株式会社ギフティ) は、ソーシャルギフトサービス 「giftee」、法人向けデジタルギフトチケット販売画面の提供、その他O2Oソリューションなどを展開する五反田のスタートアップです。(onlab第1期, KDDI ∞ LABO 第1期)
https://giftee.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away