A plain diff compares the working tree with the index. A cached diff compares the index with the current commit. Comparing two revisions answers a third question. The same file can therefore have different diffs at once. Inspect the requested comparison and keep its output visible for review. A terminal showing a plausible change is not enough if it came from the wrong pair of states. The tasks include separate staged and unstaged edits. A staged route can say north while the working file says south. The plain diff shows north changing to south; the cached diff shows the earlier committed route changing to north. Both can be correct.