LoginSignup
5
6

More than 5 years have passed since last update.

git diff の option 色々

Last updated at Posted at 2014-07-15

git diff の option を見ていく

Git のコマンドには様々な option が指定できるようになっている.
自分も全部は知らないけれども、ちょくちょく使ってる option をここで色々と紹介していきます.
今回 option を紹介するのは以下のコマンド.

$ git diff

git diff --cached

大体のgitユーザーは一度は目にするであろう --cached option.
git diff を option 無しで使うと ”staging されていないファイルにおける変更” が表示されるが,この --cached option を使うと ”staging されたファイルにおける変更” が表示される.
ちなみに ”staging されているファイル” というのは git add コマンドで追加されたファイルの事.

これは「あれ、今 commit しようとしてるファイルの変更ってそもそもなんだったっけ?」といった時にはもちろん,ある程度変更したファイルが多くなってしまった時に「このファイルとこのファイルの変更だけが見たい」といったような時にも「一旦 git add して git diff --cached で確認する」といった使い方ができたりもします。 「今自分が見たファイルは何だったのか」も git status コマンドで一発で把握できるから以外と便利だったり.

git diff --ignore-space-change

これは知ったら重宝する人が多いんじゃないかな?と思う option.
option の名前からも予想できるようにインデント等の変更による「空白の変更」を無視するもので、複数人で開発していた時にコードの修正ついでに他の人のインデントを直して commit したんだけど、「どこが自分の変更で、どこがただのインデントの変更かが分からなくなった」といった時に効果を発揮します.
自分は普段 vim のインデント補完を使って自分のインデントを直すんだけど、他の人のコードいじるとファイルのインデント全部を修正しちゃって diff の結果が真っ赤になる事があるので結構重宝してます.

git diff --

準備中

暇な時に随時追加していく予定です.
「こんな option もあるよ!」ってものがあればコメントで教えてもらえれば幸いです.
git diff の option も多いよぉ...

5
6
0

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
5
6