45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
name: Clear Git History and Keep Current Files
|
|
|
|
on:
|
|
workflow_dispatch: # Manually trigger the workflow
|
|
|
|
jobs:
|
|
reset-history:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout the current repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0 # Ensure that the entire history is fetched
|
|
|
|
- name: Configure Git author identity
|
|
run: |
|
|
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
|
git config --local user.name "github-actions[bot]"
|
|
|
|
- name: Remove all Git history
|
|
run: |
|
|
# Create a new orphan branch
|
|
git checkout --orphan temp-branch
|
|
|
|
# Add all files to the new branch
|
|
git add -A
|
|
|
|
# Commit the files to the new branch
|
|
git commit -m "Initial commit with current files only"
|
|
|
|
# Delete the old main branch
|
|
git branch -D main
|
|
|
|
# Rename the new orphan branch to main
|
|
git branch -m main
|
|
|
|
# Force push the new main branch to the remote repository
|
|
git push -f origin main
|
|
|
|
- name: Clean up references
|
|
run: |
|
|
# Remove remote-tracking references to deleted branches (optional)
|
|
git fetch origin --prune
|