Files
Dynamic-Password/fix_dates.sh
T

29 lines
832 B
Bash

#!/bin/bash
set -e
# Define dates
DATE1="2016-07-24T12:00:00"
DATE2="2020-07-25T12:00:00"
DATE3="2020-07-26T12:00:00"
DATE4="$(date -Iseconds)" # Today
# Get commit hashes
COMMITS=($(git rev-list --reverse HEAD))
# Create a temporary branch to work on
git checkout -b temp-rewrite
# Amend each commit
GIT_AUTHOR_DATE="$DATE1" GIT_COMMITTER_DATE="$DATE1" git commit --amend --no-edit
git cherry-pick ${COMMITS[1]}
GIT_AUTHOR_DATE="$DATE2" GIT_COMMITTER_DATE="$DATE2" git commit --amend --no-edit
git cherry-pick ${COMMITS[2]}
GIT_AUTHOR_DATE="$DATE3" GIT_COMMITTER_DATE="$DATE3" git commit --amend --no-edit
git cherry-pick ${COMMITS[3]}
GIT_AUTHOR_DATE="$DATE4" GIT_COMMITTER_DATE="$DATE4" git commit --amend --no-edit
# Switch main to the new history
git checkout main
git reset --hard temp-rewrite
git branch -D temp-rewrite