Skip to content

guigonzalezz/send-commit-to

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

send-commit-to - Mirror your contribution history from private/work repositories to your GitHub profile

send-commit-to banner

npm package License: MIT node >=18

Ever worked on private repositories or company projects that don't show up on your GitHub contribution graph? This tool helps you mirror your commit history (dates only, not content) to a repository you control, so your contributions are visible on your profile.


How It Works

  1. Point to a source repository on your local machine
  2. Filter by your email to find your commits
  3. Mirror commit timestamps to this repository (creates empty commits with matching dates)
  4. Push to GitHub and watch your contribution graph update!

⚠️ Note: This tool only copies commit dates, not the actual code or commit messages. Each mirrored commit simply updates a foo.txt file with a reference to the original commit hash.


Requirements

  • Node.js 18.0 or higher
  • Git installed and configured globally
  • Git user configured:
    git config --global user.name "Your Name"
    git config --global user.email "your@email.com"

Quick Start

# Clone this repository
git clone https://github.com/yourusername/send-commit-to.git my-contributions
cd my-contributions

# Or click **"Use this template"** on GitHub to create your own copy.

# Install dependencies
npm install

# Run the script
npm start

# The script will ask you for:
# - **Repository path**: Relative or absolute path to your source repository
# - **Author email**: The email used in commits you want to mirror
# - **Branch name**: Which branch to get commits from (default: `main`)

# After the script completes, push to your GitHub repository:
git remote add origin https://github.com/yourusername/my-contributions.git
git push -u origin main

Re-running (Sync New Commits)

The script saves your configuration automatically. Just run it again to sync new commits:

npm start

You'll see options to:

  • Continue with saved configuration - Sync only new commits since last run
  • Start fresh - Enter new repository/email/branch settings

Use Case: Squashed Commits

If your team uses squash merging on main, your individual commits might be lost in the history. To preserve your contribution history:

  1. Run the script
  2. When asked for branch, enter your development branch (e.g., dev, develop, feature-branch)
  3. This captures all your commits before they were squashed into main

Configuration

Your settings are automatically saved and include:

  • Source repository path
  • Author email filter
  • Branch name
  • Last run timestamp (for incremental syncs)
  • List of processed commit hashes

Configuration location:

  • Windows: %APPDATA%/send-commit-to-nodejs/config.json
  • macOS: ~/Library/Preferences/send-commit-to-nodejs/config.json
  • Linux: ~/.config/send-commit-to-nodejs/config.json

License

MIT License - Feel free to use and modify as needed.


Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.


Made with ❤️ for developers who want their contributions to count.

About

Mirror your contribution history from private/work repositories to your GitHub profile. Keep your contribution graph updated!

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors