回答:
次は私のために働きます:
git diff master:foo foo
過去には、次のような状況でした。
git diff foo master:foo
--
パス引数からパラメーターを分離するために、aを試しましたか?git diff -- master:foo foo
git diff -- master:foo foo
機能しません-arg master:foo
をブランチ内のファイルではなく、存在しないファイル名として扱い(無視し)ているようです。最後の2つの引数を切り替えてみてください-うまくいった場合、差分比較は逆になりますが、出力は変わりません。
git diff master:foo foo
が、その逆はできません。よくわかりません。git 1.7.9.5 / Ubuntu 12.04を使用すると、少なくともgit diff -R master:foo foo
実際に必要な差分を取得できます。私は、x64 1.9.4 / Windows 7のmsysgitと私が得ることをしようとしますfatal: unable to read 0000000000000000000000000000000000000000
。なければ-R
私はgitの1.7.9.5であなたと同じエラーメッセージが出ますが、1.9.4で、私が得ますfatal: master:foo: no such path in the working tree
。
作業ツリーを特定のブランチ名と比較しようとしているので、次のようにします。
git diff master -- foo
これは、この形式のgit-diffからのものです(git-diffのマンページを参照)
git diff [--options] <commit> [--] [<path>...]
This form is to view the changes you have in your working tree
relative to the named <commit>. You can use HEAD to compare it with
the latest commit, or a branch name to compare with the tip of a
different branch.
参考までに、作業ツリーのすべてではなく、ステージングしたものの差分を表示する--cached
(別名--staged
)オプションもあります。
git diff [--options] --cached [<commit>] [--] [<path>...]
This form is to view the changes you staged for the next commit
relative to the named <commit>.
...
--staged is a synonym of --cached.
また: git diff master..feature foo
git diff foo master:foo
私のためのディレクトリでは動作しませんので。
git diff branch1:foo master:foo
git diff
、私は常にstackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/…を