Відповіді:
Наступні роботи для мене:
git diff master:foo foo
Раніше це могло бути:
git diff foo master:foo
--, щоб відокремити параметри від аргументів шляху? git diff -- master:foo foo
git diff -- master:foo fooне працює - це здається, що аргумент ставиться до master:fooнеіснуючого імені файлу (і ігнорує його) замість файлу в а-філії. Спробуйте перемкнути останні два аргументи - якщо це спрацювало, порівняння diff слід змінити, але вихід не зміниться.
git diff master:foo fooале не навпаки. Я теж цього не розумію. З git 1.7.9.5 / Ubuntu 12.04 я можу принаймні зробити, git diff -R master:foo fooщоб отримати різницю, яку я насправді хочу. Коли я пробую це з msysgit 1.9.4 / Windows 7 x64, я отримую 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.
FYI, також є варіант --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 difftool tag/branch filename
git difftoolне має жодної -vопції згідно з документами git-scm.com/docs/git-difftool . Ви мали на увазі -y?
git diff mybranch master -- file
також повинні працювати
git diff deployment master -- fileі git diff master deployment -- fileпрацювати, як очікувалося, з будь-якими 2 відділеннями .
git diff, я завжди думаю про stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough / ...