Skip to content

An educational Python tool that simulates Git commit history by creating timestamped commits across specified timeframes. Demonstrates Git's timestamp handling and repository history manipulation through automated commit generation. Perfect for learning Git's internal date mechanics.

Notifications You must be signed in to change notification settings

Geek-Cheth/Git-Contribution-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Git Contribution Simulator 🎯

An educational Python tool that simulates Git commit history by creating timestamped commits across specified timeframes. Demonstrates Git's timestamp handling and repository history manipulation through automated commit generation.

✨ Features

  • Interactive CLI with progress visualization
  • Customizable number of commits and target year
  • Random distribution of commits during business hours
  • Automated Git operations
  • Cross-platform compatibility

🔧 Prerequisites

  • Python 3.x
  • Git installed and configured
  • GitHub account with SSH or token authentication
  • pip (Python package manager)

📦 Installation

  1. Clone the repository:
git clone https://github.com/geek-cheth/git-contribution-simulator
cd git-contribution-simulator
  1. Install required packages:
pip install rich
  1. Ensure Git is configured:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

🚀 Usage

  1. Run the script:
python git.py
  1. Follow the interactive prompts:

    • Enter the number of commits you want to create
    • Specify the target year for the commits
  2. The script will:

    • Create a working directory (git_simulator_work)
    • Initialize a Git repository
    • Generate commits with random timestamps
    • Display progress with a visual interface
    • Attempt to push changes to your remote repository

📝 Important Notes

  • The script creates a new directory called git_simulator_work to keep operations isolated
  • Commits are distributed randomly across business hours (9 AM - 5 PM)
  • Ensure you have proper Git authentication set up for pushing changes
  • The tool works on Windows, Linux, and macOS

🤝 Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

📜 License

This project is released under the MIT License.

⚠️ Disclaimer

This tool is for educational purposes only. Use it responsibly and in accordance with your organization's guidelines.

About

An educational Python tool that simulates Git commit history by creating timestamped commits across specified timeframes. Demonstrates Git's timestamp handling and repository history manipulation through automated commit generation. Perfect for learning Git's internal date mechanics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages