whatisgithub

What is git-blame-someone-else?

jayphelps/git-blame-someone-else — explained in plain English

Analysis updated 2026-06-24

11,626ShellAudience · developerComplexity · 2/5Setup · easy

In one sentence

A joke shell script that rewrites a past Git commit's author field to blame someone else for your code, showing how Git history can be forged and why signed commits exist as a safeguard.

Mindmap

mindmap
  root((repo))
    What it does
      Rewrites commit author
      Blames another developer
      Works on past commits
    How it works
      Shell script
      Git extension command
      Unix systems only
    Use cases
      Prank or live demo
      Teaching signed commits
      Understanding Git history
    Warnings
      Can damage real repos
      No warranty provided
      Signed commits detect forgery
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Make a local commit appear authored by a different developer as a prank or live demo.

USE CASE 2

Demonstrate to students why cryptographic commit signing matters for trustworthy code attribution.

USE CASE 3

Show in a talk how Git recorded history can be rewritten after the fact.

What is it built with?

ShellGit

How does it compare?

jayphelps/git-blame-someone-elsemoovweb/gvmk4m4/movies-for-hackers
Stars11,62611,60611,732
LanguageShellShellShell
Setup difficultyeasymoderateeasy
Complexity2/52/51/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires a Unix-like system, install with make install after cloning, no external dependencies.

No license information was mentioned in the explanation.

So what is it?

This is a joke shell script built as a Git extension. Git is a version control system that tracks who wrote each line of code and when. Every change (called a commit) is recorded with an author's name and email. A built-in Git command called git blame shows, line by line, which person last changed each part of a file, making it easy to trace who is responsible for a given piece of code. This script adds a custom command, git blame-someone-else, which rewrites the author and committer fields of a past commit to show a different person's name instead. In plain terms, it lets you make it appear that another developer wrote something you wrote. The repository description says it directly: "Blame someone else for your bad code." The project was written as a joke, and the README says so explicitly. There is a fabricated quote attributed to Linus Torvalds, the creator of Git, praising the tool. A link in the README reveals that the commit containing that quote was authored by Torvalds only because the script itself was used to forge it. The disclaimer warns that the script can cause serious damage if run carelessly against a real repository, and the author takes no responsibility for the results. Installing it requires cloning the repository and running a make install command. Once installed, you call it by passing a desired author name and a commit identifier. It works on standard Unix-like systems. Beyond the humor, this project illustrates how Git's recorded history can be rewritten and why signed commits (which add a cryptographic signature to prove authorship) exist as a safeguard in projects where trustworthy attribution matters.

Copy-paste prompts

Prompt 1
I cloned git-blame-someone-else and ran make install. Show me the exact command to change the author of commit abc1234 to appear as 'Jane Doe [email protected]'.
Prompt 2
Explain what Git signed commits do and how they prevent the kind of author forgery that git-blame-someone-else performs.
Prompt 3
Walk me through what git-blame-someone-else actually changes in a commit object and why the commit hash changes afterward.
Prompt 4
I used git-blame-someone-else on a commit and now want to revert it. What git commands do I need to restore the original author?

Frequently asked questions

What is git-blame-someone-else?

A joke shell script that rewrites a past Git commit's author field to blame someone else for your code, showing how Git history can be forged and why signed commits exist as a safeguard.

What language is git-blame-someone-else written in?

Mainly Shell. The stack also includes Shell, Git.

What license does git-blame-someone-else use?

No license information was mentioned in the explanation.

How hard is git-blame-someone-else to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is git-blame-someone-else for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.