git-shuffle - randomize timestamps of git commits


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)


Updated 2024-01-29 - jenkler.se | uex.se