Skipping the ethics, to fill out missing days on your contributions chart you can create commits for days that you missed:
```sh
git commit --date "Dec 4 14:00 2022 +0100" --allow-empty -m "chore: update graph"
```
## Backfill a Range of Days
Loop over the last N days and create an empty commit for each one. Pass `--days` to control the range (defaults to 30):
```sh
#!/usr/bin/env bash
set -euo pipefail
days=30
while [[ $# -gt 0 ]]; do
case "$1" in
--days)
days="$2"
shift 2
;;
--days=*)
days="${1#*=}"
shift
;;
*)
echo "Unknown argument: $1" >&2
exit 1
;;
esac
done
for ((i = days; i >= 1; i--)); do
date=$(date -v-"${i}"d +"%Y-%m-%dT12:00:00")
git commit --date "$date" --allow-empty -m "chore: update graph ($date)"
done
```
Usage:
```sh
./backfill.sh # 30 days
./backfill.sh --days 90 # 90 days
./backfill.sh --days=90 # 90 days
```
Run it from inside the target repo, then `git push` to send the backfilled commits to GitHub.
## One-liner (30 Days, no Script file)
Paste directly into the terminal from inside the target repo:
```sh
for i in {30..1}; do d=$(date -v-"${i}"d +"%Y-%m-%dT12:00:00"); git commit --date "$d" --allow-empty -m "chore: update graph ($d)"; done
```