https://github.com/artiebits/fake-git-history
A command-line tool to generate GitHub and GitLab activity graph.
https://github.com/artiebits/fake-git-history
commit-history contribution-graph contributions contributions-calendar git git-activity github github-profile gitlab
Last synced: about 1 month ago
JSON representation
A command-line tool to generate GitHub and GitLab activity graph.
- Host: GitHub
- URL: https://github.com/artiebits/fake-git-history
- Owner: artiebits
- License: mit
- Created: 2019-08-14T05:56:29.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-04-06T08:20:53.000Z (3 months ago)
- Last Synced: 2025-05-03T16:41:12.406Z (about 2 months ago)
- Topics: commit-history, contribution-graph, contributions, contributions-calendar, git, git-activity, github, github-profile, gitlab
- Language: JavaScript
- Homepage: https://artiebits.com
- Size: 162 KB
- Stars: 923
- Watchers: 9
- Forks: 94
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Generate Git Commits
A command-line tool that generates GitHub or GitLab activity graphs to make it look like you have been coding regularly.
## How To Use
1. Ensure you have [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and
[Node.js](https://nodejs.org/en/download/) installed on your machine.
2. Generate your commits:
```shell script
npx fake-git-history
```
This command creates a my-history folder and generates commits with the following default settings:
- Date range: Last 365 days
- Commits per day: Between 0 and 4
- Frequency: Commits generated for approximately 80% of days
- Distribution: Evenly distributed throughout the day
3. Create [a private repository](https://github.com/new) called `my-history` in your GitHub or GitLab, and push the changes:
```shell script
cd my-history
git remote add origin [email protected]:/my-history.git
git push -u origin master
```Done! Now take a look at your GitHub profile 😉
## Support This Project
If you rely on this tool and find it useful, please consider supporting it. Maintaining an open source project takes time, and a cup of coffee would be greatly appreciated!
## Customizations
### `--preview`
If you want to preview the activity graph before creating any commits, use the `--preview` flag:
```shell script
npx fake-git-history --preview
```You can combine it with other options:
```shell script
npx fake-git-history --preview --distribution workHours --frequency 100
```### `--frequency`
Control the chance (0-100%) of generating commits for each day. This makes your activity graph look more random and realistic.
The default value is `80`, which means commits will be generated for 80% of the days in the date range. Setting a lower value will randomly skip more days:```shell script
npx fake-git-history --frequency 50
```This will generate commits for approximately 50% of the days in your date range, making the pattern look more natural.
### `--distribution`
Choose the distribution pattern for generating commits:
- `uniform` (default): Evenly distributed random commits between min and max
- `workHours`: More commits during work hours (9am-5pm) and on weekdays (especially Tuesday-Thursday)
- `afterWork`: More commits during evenings and weekends#### Work Hours Pattern
For a typical work schedule pattern that shows more activity during weekdays:
```shell script
npx fake-git-history --distribution workHours --preview
```Days between Tuesday and Thursday will have the most activity, while weekends will be mostly empty.
#### After Work Pattern
For an evening/weekend coder pattern that shows more activity during off-hours:
```shell script
npx fake-git-history --distribution afterWork --preview
```Saturday and Sunday will have the most activity, with Friday evenings also showing higher commit counts.
### `--startDate` and `--endDate`
By default, the script generates GitHub commits for every day within the last year.
But if you want to generate activity for specific dates, use these options:```shell script
npx fake-git-history --startDate "2020/09/01" --endDate "2020/09/30"
```### `--commitsPerDay`
Specify the number of commits to create for each day.
The default is `0,4`,but you can change it:```shell script
npx fake-git-history --commitsPerDay "0,6"
```## PS
This tool was created as a joke, so please don't take it seriously. While cheating is never encouraged, if someone is judging your professional skills based on your GitHub activity graph, they deserve to see a rich activity graph 🤓