LinuxCommandLibrary

git-blame-someone-else

Attribute commits to another committer/author

TLDR

Change the committer and author of a commit

$ git blame-someone-else "[author <someone@example.com>]" [commit]
copy

SYNOPSIS

git blame-someone-else [-c|--commit-hash] [-k|--keep-cherry-pick] [range]

PARAMETERS

-c, --commit-hash
    Blame a specific commit hash instead of "Someone Else"

-k, --keep-cherry-pick
    Preserve cherry-pick commit messages (still blames "Someone Else")

DESCRIPTION

git-blame-someone-else is a humorous bash script designed to rewrite Git repository history, attributing all commits within a specified range (or the entire repo) to a fictional author named "Someone Else <s.o.m.e.o.n.e.else@ourcompany.com>". This makes git blame and git log point to this fake persona instead of the real authors, perfect for office pranks or light-hearted trolling among developers.

It works by using git filter-branch under the hood to modify both the author and committer fields of commits. By default, it targets the whole repository, but you can limit it with a range like HEAD~10. Cherry-pick commits can optionally retain their messages.

⚠️ Use at your own risk: it permanently alters history, so run it only on local clones, never on shared remotes. Ideal for memes, team jokes, or demonstrating the power (and danger) of Git history rewriting. Popular on GitHub with thousands of stars since its creation.

CAVEATS

⚠️ Danger: Irreversibly rewrites Git history. Use only on local clones, never shared repos. Backup first. No undo without prior reflog.

INSTALLATION

curl https://raw.githubusercontent.com/jayphelps/git-blame-someone-else/master/blame-someone-else.sh | bash && sudo mv blame-someone-else /usr/local/bin/git-blame-someone-else
Or clone: git clone https://github.com/jayphelps/git-blame-someone-else && cd git-blame-someone-else && sudo make install

EXAMPLE

git blame-someone-else HEAD~5 — Blames last 5 commits on "Someone Else".
git blame-someone-else -c abc123 — Blames specific commit abc123.

HISTORY

Created by Jay Phelps in 2016 as a satirical GitHub repo (https://github.com/jayphelps/git-blame-someone-else). Gained viral popularity for developer humor, with 10k+ stars. Evolved with minor fixes; still actively forked.

SEE ALSO

Copied to clipboard