Skip to content
cccskills
FreePublished on GitHub

git-rollback

Browse Git branches and historical versions to prepare a rollback. Choose reset to rewrite branch history or revert to create undo commits while preserving it, preview the planned commands, and execute after confirmation.

OriginalShow the original description

Interactively rollback Git branch to historical version; lists branches, versions, then executes reset/revert after confirmation

See how to install

Good for

  • Return a release branch to an earlier tag
  • Undo changes while preserving commit history
  • Inspect historical versions interactively
  • Preview rollback commands before execution

Files included (1)

  • SKILL.md4.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Claude Command: Git Rollback

Purpose: Safely and visually rollback a specified branch to an older version. Defaults to read-only preview (--dry-run); actual execution requires --yes or interactive confirmation.


Usage

# Pure interactive: list branches → select branch → list recent 20 versions → select target → choose reset or revert → confirm
/git-rollback

# Specify branch, other interactive
/git-rollback --branch feature/calculator

# Specify branch and target commit, execute with hard-reset in one go (dangerous)
/git-rollback --branch main --target 1a2b3c4d --mode reset --yes

# Generate revert commit only (non-destructive rollback), preview
/git-rollback --branch release/v2.1 --target v2.0.5 --mode revert --dry-run

Options

OptionDescription
--branch <branch>Branch to rollback; interactively selected if omitted.
--target <rev>Target version (commit hash, tag, or reflog reference); interactively selects recent --depth entries if omitted.
--mode reset|revertreset: Hard rollback history; revert: Generate reverse commits keeping history intact. Prompts by default.
--depth <n>List recent n versions in interactive mode (default 20).
--dry-runEnabled by default, only preview commands to be executed.
--yesSkip all confirmations and execute directly, suitable for CI/CD scripts.

Interactive Flow

  1. Sync remote → git fetch --all --prune
  2. List branches → git branch -a (local + remote, filter protected branches)
  3. Select branch → User input or parameter
  4. List versions → git log --oneline -n <depth> + git tag --merged + git reflog -n <depth>
  5. Select target → User inputs commit hash / tag
  6. Select mode → reset or revert
  7. Final confirmation (unless --yes)
  8. Execute rollback
    • reset: git switch <branch> && git reset --hard <target>
    • revert: git switch <branch> && git revert --no-edit <target>..HEAD
  9. Push suggestion → Prompt whether to git push --force-with-lease (reset) or regular git push (revert)

Safety Guards

  • Backup: Automatically records current HEAD in reflog before execution, recoverable with git switch -c backup/<timestamp>.
  • Protected branches: If protected branches like main / master / production are detected with reset mode enabled, requires additional confirmation.
  • --dry-run enabled by default: Prevents accidental operations.
  • --force prohibited: No --force provided; if force push needed, manually enter git push --force-with-lease.

Use Case Examples

ScenarioCommand Example
Hotfix patch deployed with bug, need to rollback to tag v1.2.0/git-rollback --branch release/v1 --target v1.2.0 --mode reset
Ops colleague pushed debug logs by mistake, need to generate reverse commit/git-rollback --branch main --target 3f2e7c9 --mode revert
Research historical bugs, guide newcomers through branch history/git-rollback (full interactive, dry-run)

Notes

  1. reset vs revert
    • reset changes history, requires force push and may affect other collaborators, use with caution.
    • revert is safer, generates new commits preserving history, but adds one more record.
  2. Embedded repositories often have large binary files; ensure LFS/submodule state consistency before rollback.
  3. If repository has CI forced validation, rollback may trigger pipelines automatically; confirm control policies to avoid accidental deployment of old versions.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

bmad-init

FreeSummary

Set up or update BMad-Method V6 in a project, detect older installations, fix a known output folder issue, and adjust Git ignore rules, with guidance on what to do next.

  • Installing BMad-Method V6 in a project
  • Updating an existing V6 installation
  • Checking for an older V4 installation
UfoMiao/zcf6.1KUpdated Aug 31, 2026

bmad-init

FreeSummary

Install or update BMad-Method (V6) in a project after checking existing installations. The skill also fixes a known output-folder issue, updates Git ignore rules, and provides next steps for using the installed workflows.

  • Set up BMad-Method (V6) for Claude Code
  • Run a quick update on an existing V6 installation
  • Check for an older V4 installation before setup
UfoMiao/zcf6.1KUpdated Aug 31, 2026

feat

FreeSummary

Turn feature requests into documented plans, revise them through discussion, and carry out implementation with progress tracking. Frontend work includes checking for a UI design and arranging design work when needed.

  • Turning a feature idea into a development plan
  • Revising a plan after feedback
  • Implementing tasks from an agreed plan
UfoMiao/zcf6.1KUpdated Aug 31, 2026

feat

FreeSummary

Guide new feature work from requirements and planning through revisions and implementation. Create Markdown plans with acceptance criteria, track progress, and ensure frontend tasks have a UI design before development begins.

  • Turn a feature idea into an implementation plan
  • Revise a plan based on feedback
  • Start implementation from an agreed plan
UfoMiao/zcf6.1KUpdated Aug 31, 2026

Find merged or inactive Git branches, preview cleanup candidates, and delete selected branches after confirmation. Choose a comparison branch, protect important branches with configurable rules, and optionally include remote branches.

  • Previewing branch cleanup candidates
  • Removing branches already merged into a release branch
  • Finding branches with no recent commits
UfoMiao/zcf6.1KUpdated Aug 31, 2026

Find Git branches that have been merged or inactive for a chosen period. Preview cleanup candidates, exclude protected branches, and delete local or remote branches using a selected base branch and confirmation options.

  • Find merged branches to clean up
  • Review branches with no recent commits
  • Clean up branches merged into a release
UfoMiao/zcf6.1KUpdated Aug 31, 2026

See all skills by UfoMiao

Report a problem with this skill