Interactive Scenarios · Explanations & Safety Checks · 1-Click Copy
Git Command Builder
Solve everyday Git dilemmas without panicking. Generate exact commands for undoing commits, squashing history, cherry-picking, and remote branch synchronization.
Available Scenarios (4)
Undo last commit (Keep changes staged)
Generated Terminal Command
git reset --soft HEAD~1How it works: Moves HEAD back while preserving your working directory and staging index exactly as they are.
Git History Hygiene & Recovery Rules
Reset vs. Revert: When to Use Each
The golden rule of Git is simple: Never rewrite shared public history.
- git reset modifies existing commit history. Use this on private local feature branches before opening a PR to clean up commit messages or fix mistakes.
- git revert records a new forward commit that reverses past modifications. Always use
git revertfor pushed commits on main, staging, or production branches.
Why --force-with-lease Is Safer Than --force
Standard git push -f forces the remote branch to your local commit tree regardless of any changes made by teammates since your last fetch.
The --force-with-lease option checks if the remote reference matches your local tracking ref. If a collaborator pushed a commit in the interim, Git rejects the push, protecting team work from catastrophic accidental deletion.