"git diff" does not show a diff for newly added, binary files What did you do before the bug happened? (Steps to reproduce your issue) $ git init . $ touch a $ git add a $ git commit -m "first commit" $ dd if=/dev/zero of=b count=1 $ git add b $ echo hello > c $ git add c $ git diff --cached What did you expect to happen? (Expected behavior) I expected a binary diff for the new file, just like it is done when comparing two different, already committed revisions. What happened instead? (Actual behavior) The "git diff" command only showed a diff for the text file c, but not for the binary file b: diff --git a/b b/b new file mode 100644 index 0000000..a64a5a9 Binary files /dev/null and b/b differ diff --git a/c b/c new file mode 100644 index 0000000..ce01362 --- /dev/null +++ b/c @@ -0,0 +1 @@ +hello [System Info] git version: git version 2.39.0 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 6.1.3-1-default #1 SMP PREEMPT_DYNAMIC Wed Jan 4 11:03:53 UTC 2023 (a5315fb) x86_64 compiler info: gnuc: 12.2 libc info: glibc: 2.36 $SHELL (typically, interactive shell): /bin/bash [Enabled Hooks]