GIT-SHUFFLE(1)

πŸ“¦ version 1.0.0, in alpine 3.24

πŸ’… GIT-SHUFFLE(1) πŸ’…

ok so this is a page from the General Commands Manual, and bestie, it's about to be your new fave. it's called git-shuffle and it's giving privacy era ✨


🌸 NAME 🌸

git-shuffle β€” randomize timestamps of git commits πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

git-shuffle [-a] [-v] refspec

πŸ’– DESCRIPTION πŸ’–

mmm okay so here's the tea: git-commit(1) attaches timestamps to every single commit you make. cute in theory, but it literally exposes your coding hours to the whole world, which honestly a lot of people see as a privacy violation. 😭 tragic.

and that's exactly what git-shuffle is here to fix β€” it mitigates that pitfall by randomizing the timestamps on commits that already exist. slay. currently, only the time gets randomized while all the other date information is left in tact. so like, the date stays, the time is chaos. periodt.

now, because Git timestamps are part of the commit object itself, doing this means git-shuffle has to rewrite your existing Git history β€” no way around it, it's lowkey the whole gig. there are two approaches supported for doing that:

  • Rebasing β€” this is the default strategy, and it rebases all commits according to the given refspec. the refspec syntax is described in more detail over in gitrevisions(7) β€” go check it out, iykyk.
  • Amending β€” contrary to rebasing, this strategy only modifies the tip of the current branch. primarily intended to be used from githooks(5). tiny and surgical, we love that for her. πŸ’…

the options are as follows:


✨ OPTIONS ✨

  • -a β€” Amend the tip of the branch instead of rebasing. heads up bestie: this causes the refspec argument to be ignored. πŸ™ˆ
  • -v β€” Activate verbose output. for each modified commit, it writes the commit hash to standard output. very "show me the receipts" energy. πŸ”₯

πŸ’€ EXIT STATUS πŸ’€

the git-shuffle utility exits 0 on success, and >0 if an error occurs. simple as that, no cap.


🌈 SEE ALSO 🌈

git-commit(1), git-rebase(1), githooks(5)


πŸ‘‘ AUTHORS πŸ‘‘

Sâren Tempel <soeren@soeren-tempel.net> 🫢


πŸ“ CAVEATS πŸ“

okay this is the important one so listen up: the utility modifies timing information of committer and author. both. like, not just one. so don't be surprised, mkay? πŸ’–

and that's the whole page! brought to you by the Debian gang, dated October 4, 2020 β€” mwah, thanks for reading bestie, go shuffle some timestamps responsibly πŸ§šβ€β™€οΈβ­πŸ’œ

πŸ“¦ where this page comes from