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 GitHub repo page · What a repository in GitHub is, its page from top to bottom, what a single commit tells you, and commit message best practices.
- Merge conflicts on GitHub: why they happen and what to do · What a merge conflict on GitHub is and why two branches can clash on the same line, what "This branch has conflicts that must be resolved" means, how to read conflict markers and resolve a simple conflict in the browser, and why choosing the right text is a product decision.