git diff $ echo RRR > b $ git commit -a -m "RRR" $ cat b RRR $ echo III >> b $ cat b RRR III $ git add . $ git status -s M b $ echo WWW >> b $ git status -s MM b 现在git中文件b的情况 +---------------> +--------------------+ b, RRR | | repository | | +---> +--------------------+ | | | git diff --cached | | | +---> +--------------------+ b, RRR git diff HEAD | index | III | +---> +--------------------+ | | | git diff | | | +---> +--------------------+ b, RRR | | working directory | III +---------------> +--------------------+ WWW $ git diff RRR III +WWW $ git diff --cached RRR +III $ git diff HEAD RRR +III +WWW