safegit v0.26.0 /safegit author
On this page

audit and rewrite commit author/committer identity — list all identities, check against expected values, and rewrite name or email across history

#safegit author

audit and rewrite commit author/committer identity — list all identities, check against expected values, and rewrite name or email across history

#author check

check that all commits use the expected author and committer identity by scanning every commit in the repository history, reporting any deviations with the exact commit hashes and mismatched fields, and suggesting the corresponding safegit author rewrite command to fix each deviation found

Effect: read_only

#Flags

Flags
NameShortTypeDefaultEnvDescription
--namestrexpected author and committer display name that all commits should use
--emailstrexpected author and committer email address that all commits should use

#author list

list all distinct author and committer identities across the entire commit history, showing name, email, role, and commit count for each unique identity — useful for auditing repositories with multiple contributors or detecting unwanted identity variations such as typos, old email addresses, or bot accounts that should be consolidated before a rewrite

Effect: read_only

#author rewrite

rewrite author and committer name or email across all commit history using git filter-branch style rewriting, replacing every occurrence of the old identity with the new one in both author and committer fields while preserving timestamps, commit messages, tree contents, and parent relationships so the rewritten history is otherwise identical to the original

Effect: mutating · consequential (prompts before running; --approve-consequential skips)

#Flags

Flags
NameShortTypeDefaultEnvDescription
--old-namestrcurrent author or committer display name to search for and replace
--new-namestrnew display name to substitute wherever the old name is found in history
--old-emailstrcurrent author or committer email address to search for and replace
--new-emailstrnew email address to substitute wherever the old email is found in history
Search