by shigemk2

当面は技術的なことしか書かない

git diff --name-statusと-name-status(再挑戦)

昨日のエントリーが盛大に間違っていたので、
ちょっと再挑戦のエントリーを書く。

まず、-name-statusは効かない。

このコマンドを打った場合、

$ git diff ブランチ1 ブランチ2

と同義である。

で、色々ためしたところ、

$ git diff -name-status ブランチ1 ブランチ2 # git diff ブランチ1 ブランチ2と同義
$ git diff -name ブランチ1 ブランチ2 # git diff ブランチ1 ブランチ2と同義
$ git diff -hoge ブランチ1 ブランチ2 # 「使い方間違っていますよ」みたいなことを言われる

となる。イマイチ挙動がよく分からない。

で、本来は、このような定義となっている。(man git-diffより)

--name-only
Show only names of changed files.

--name-status
Show only names and status of changed files. See the description of the --diff-filter option on what the status letters mean.

もう泣きたい。