git-update
Installation
SKILL.md
Execute the following steps:
- Check if current directory is a valid git repository
- Fetch latest changes from remote
- Check if working directory is clean (no local changes)
- If clean: analyze safety and pull with rebase directly (skip stash operations)
- If dirty: stash changes with
git stash push --include-untracked --keep-index(preserves staging state) - Analyze if rebasing looks safe (check for potential conflicts by comparing commit histories)
- If safe: pull with rebase, then restore stash if needed with
git stash pop - If unsafe: abort and restore stash if needed with
git stash popto return to exact original state - Always provide exactly one sentence summary of the operation result
Safety checks:
- Use
git rev-parse --is-inside-work-treeto verify git repository - Look for divergent commit histories that could cause conflicts
- Check if remote has force-pushed (dangerous for rebase)
- Verify we're on a branch that can be safely rebased
- Use
git status --porcelainto check for local changes efficiently - Only stash/unstash if working directory is dirty