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 も多いよぉ...