blame
Also called: git blame
A GitHub file view that shows, next to every line, the last commit that changed it: who, when and with what message. It finds the source of a line, not a culprit.
Blame is how you find where a line came from. For every line of a file it shows the last commit that changed it: the author, the date and the commit message, which usually links on to the pull request and the issue with the reason. On GitHub you open a file and switch the view from Code to Blame. The name is unfortunate: it is a tool for context, not for finding someone to blame.
Example
Blame on "freeDeliveryFrom": 1000 in CatChow's config/prices.json points to Daniel's commit, whose message ends with (#133): the pull request, which in turn links to the finance issue behind the change.
Common mistakes
Trusting the first answer. Blame shows the last commit that touched a line, which may only have reformatted it; look one step further back to find the change that set the value.
Learn it in the course
- Reading history: messages, diffs and blame · How to open a file's history, read a diff line by line and use blame to trace any line back to its commit, pull request and issue.
- Repository and commits: reading a repo page · A GitHub repository page from top to bottom, what a single commit page tells you, and what makes a good commit message.
- Merge conflicts: why they happen and what to do · Why two branches can clash on the same line, what GitHub shows when they do, how to read conflict markers and resolve a simple conflict in the browser, and why choosing the right text is a product decision.