init
This commit is contained in:
commit
017bf6e067
115 changed files with 19650 additions and 0 deletions
23
scripts/squash-history.sh
Executable file
23
scripts/squash-history.sh
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env bash
|
||||
# squash-history.sh — Replaces entire git history with a single "init" commit.
|
||||
# WARNING: Destructive and irreversible. Force-pushes to remote.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
COMMIT_MSG="${1:-init}"
|
||||
REMOTE="${2:-origin}"
|
||||
BRANCH="main"
|
||||
TEMP="temp-squash-$$"
|
||||
|
||||
echo "⚠️ This will destroy all git history and force-push to $REMOTE/$BRANCH."
|
||||
read -r -p "Continue? [y/N] " confirm
|
||||
[[ "$confirm" =~ ^[Yy]$ ]] || { echo "Aborted."; exit 0; }
|
||||
|
||||
git checkout --orphan "$TEMP"
|
||||
git add -A
|
||||
git commit -m "$COMMIT_MSG"
|
||||
git branch -D "$BRANCH"
|
||||
git branch -m "$TEMP" "$BRANCH"
|
||||
git push --force "$REMOTE" "$BRANCH"
|
||||
|
||||
echo "Done. $(git log --oneline)"
|
||||
Loading…
Add table
Add a link
Reference in a new issue