Skip to main content

A CLI tool to rewrite git timestamps to standard work hours.

Project description

Git Fuck Time

Git Fuck Time Logo

PyPI version

Because nobody needs to know you were debugging CSS at 3 AM on a Saturday.

gitfucktime is a CLI utility that scrubs your git commit timestamps and spreads them out over a healthy, respectable 9-5, Monday-to-Friday schedule.

Gaslight your boss, your colleagues, and even your future self into believing you have a perfect work-life balance.

Features

  • 9-to-5 Only: Automatically shifts commits to "standard" business hours (09:00 - 17:00).
  • No Weekends: Skips Saturdays and Sundays, because you definitely have a life outside of work.
  • Smart Detection: Automatically picks up where you left off. It looks at your last pushed commit and starts falsifying... er, correcting... timestamps from the very next workday.
  • Interactive Dashboard: Run it without arguments to see a pretty summary of your shame (unpushed commits) and fix them with one click.

Prerequisites

  • Git: You need to have git installed (duh).
  • Python 3.7+: Because we have standards.

Installation

pip install gitfucktime

Congratulations, you are now a "morning person".

Usage

1. The "I Just Woke Up and Fixed This" Mode (Recommended)

Automatically detects your unpushed commits and spreads them out starting from the next logical work day after your last push.

# Run the interactive dashboard
gitfucktime

# Or do it silently
gitfucktime -u

2. The "Crunch Time" Cover-Up

Rewrites your last 10 commits to look like a productive week rather than a panic-fueled all-nighter.

gitfucktime --last 10

3. The micromanager

Manually specify the exact dates you want your work to appear in. We won't judge.

gitfucktime --start 2025-01-01 --end 2025-01-10

CLI Reference

Flag Short What it does
--start -s Start date (YYYY-MM-DD). The day you allegedly started working.
--end -e End date (YYYY-MM-DD). The day you allegedly finished.
--unpushed -u Only fixes commits you haven't exposed to the public yet.
--last N -l Fixes the last N commits.
--first N -f Fixes the first N commits (for fresh repos).
--version -v Version info.
--help -h Shows the help menu.

⚠️ warning ⚠️

This tool rewrites git history.

This changes commit hashes. If you use this on a shared branch that others have already pulled, they will hate you.

Only use this on:

  1. Your own local feature branches before you push.
  2. Personal projects where you are the benevolent dictator.

ALWAYS MAKE A BACKUP BEFORE RUNNING.

cp -r my-project my-project-backup

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitfucktime-1.0.1.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitfucktime-1.0.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file gitfucktime-1.0.1.tar.gz.

File metadata

  • Download URL: gitfucktime-1.0.1.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for gitfucktime-1.0.1.tar.gz
Algorithm Hash digest
SHA256 542018e63412bdc85f3b820db9a4f2295d9a48e703ac6ea1a7371764488a6e27
MD5 16e0a9ff3bd73e326fe083a9233ca453
BLAKE2b-256 6e86bd7f9c7023d4aeaa2455f8fc793485e7cfd9bb9fee8cb4932e4e7520b949

See more details on using hashes here.

File details

Details for the file gitfucktime-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: gitfucktime-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for gitfucktime-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20879e4c56a519be40fc438fe90b7b66478a3824d8ad9ee644cc82ae1beaf2f7
MD5 04f4595665feaab2cc470be6134558ed
BLAKE2b-256 c8ec6de9dd270e23cd4acaba805635dd297255ec15dd570d0d3b1555221f8a0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page