GIT-SHUFFLE(1) General Commands Manual GIT-SHUFFLE(1)
NAME
git-shuffle — randomize timestamps of git commits
SYNOPSIS
git-shuffle [−a] [−v] refspec
DESCRIPTION
The git-commit(1) utility associates timestamps with each commit. This exposes coding hours and may be perceived as a privacy violation. The git-shuffle utility mitigates this pitfall by randomizing timestamps associated with existing commits. Currently, only the time is randomized while all other date information is left in tact.
As Git timestamps are part of the commit object, doing so requires git-shuffle to rewrite the existing Git history. Two approaches are supported for doing so:
Rebasing This is the default strategy, it rebases all commits according to the given refspec. The refspec syntax is further described in gitrevisions(7).
Amending Contrary to rebasing, this strategy only modifies the tip of the current branch. Primarily intended to be used from githooks(5).
The options are as follows:
−a
Amend the tip of the branch instead of rebasing. This causes the refspec argument to be ignored.
−v
Activate verbose output. For each modified commit write the commit hash to standard output.
EXIT STATUS
The git-shuffle utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
git-commit(1), git-rebase(1), githooks(5)
AUTHORS
Sören Tempel <[email protected]>
CAVEATS
The utility modifies timing information of committer and author. GNU October 4, 2020 GIT-SHUFFLE(1)