Comprehensive Git push operations including basic push, force push safety protocols, tag pushing, remote management, and troubleshooting. Use when pushing commits, managing remotes, pushing tags, resolving push conflicts, handling rejected pushes, or dealing with force push scenarios. Covers push strategies, branch protection, upstream configuration, and push --force-with-lease best practices.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
references/best-practices.mdreferences/force-push-safety.mdreferences/push-configuration.mdreferences/remote-management.mdreferences/tag-pushing.mdreferences/troubleshooting.mdreferences/workflows.mdComprehensive guidance for Git push operations, from basic pushes to force push safety protocols and remote management.
This skill provides complete guidance for Git push operations, emphasizing safety protocols (especially for force pushes), remote management, and troubleshooting common push scenarios. It complements the git-commit skill (which handles commit creation) by focusing exclusively on push operations and remote synchronization.
This skill should be used when:
Trigger keywords: push, force push, force-with-lease, remote, upstream, tracking branch, rejected push, push --force, git push origin, push tags, remote add
This skill assumes:
git --version).git/ directory)origin for GitHub/GitLab/Bitbucket)For Git installation help, see the setup skill.
# Push current branch to remote (if upstream is configured)
git push
# Push and set upstream for first-time push
git push -u origin feature-branch
# Push specific branch to remote
git push origin main
# Safe force push (recommended - only overwrites if no one else pushed)
git push --force-with-lease
# Safest force push (recommended for maximum safety)
git push --force-with-lease --force-if-includes
# Force-with-lease for specific branch
git push --force-with-lease origin feature-branch
# Push specific tag
git push origin v1.0.0
# Push all tags
git push --tags
# Push commits + annotated tags pointing to them
git push --follow-tags
Push local commits to remote repositories for collaboration and backup.
Essential commands:
# Push current branch (upstream must be configured)
git push
# Push and set upstream (first-time push)
git push -u origin feature-branch
# Push specific branch
git push origin main
# Dry run (preview without pushing)
git push --dry-run
📖 For detailed configuration: See references/push-configuration.md for upstream setup, push strategies, and advanced options.
Rewrite remote history safely when necessary (after rebasing, amending, or squashing commits).
CRITICAL SAFETY RULES:
--force-with-lease (not --force)Safe force push commands:
# ✅ SAFE: Only overwrites if no one else pushed since your last fetch
git push --force-with-lease
# ✅ SAFEST: Maximum safety with force-if-includes
git push --force-with-lease --force-if-includes
📖 For comprehensive safety guidance: See references/force-push-safety.md for detailed safety protocols, pre-push checklist, recovery procedures, and branch protection.
Push version tags to remote for releases and milestones.
Quick commands:
# Create and push annotated tag (recommended for releases)
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0
# Push all tags
git push --tags
# Push commits + annotated tags (recommended)
git push --follow-tags
📖 For complete tag workflows: See references/tag-pushing.md for tag types, strategies, aliases, and best practices.
Configure and manage remote repositories for push/fetch operations.
Quick commands:
git remote -v # List remotes
git remote add origin <url> # Add remote
git remote set-url origin <url> # Change URL
git remote rename origin upstream # Rename remote
📖 For detailed remote management: See references/remote-management.md for configuration, fork workflows, and credential management.
Diagnose and resolve common push failures and conflicts.
Common issues - quick fixes:
# Rejected push (non-fast-forward)
git pull --rebase && git push
# Authentication failure
ssh -T git@github.com # Test SSH
git remote set-url origin git@github.com:username/repo.git
# Protected branch
git switch -c feature-branch
git push -u origin feature-branch
📖 For comprehensive troubleshooting: See references/troubleshooting.md for detailed diagnosis and solutions.
git switch -c feature/user-auth
git commit -m "feat(auth): implement authentication"
git push -u origin feature/user-auth # First push sets upstream
git push # Subsequent pushes
git fetch origin
git rebase origin/main
git push --force-with-lease # Safe force push
git switch main && git pull
git switch -c hotfix/critical-bug
git commit -m "fix: resolve critical bug"
git push -u origin hotfix/critical-bug
gh pr create --title "HOTFIX: ..."
📖 For additional workflows: See references/workflows.md for fork contribution, release tagging, and complex multi-remote scenarios.
Critical Safety Rules:
--force-with-lease (not --force)Push Frequency:
📖 For comprehensive best practices: See references/best-practices.md for safety protocols, security, collaboration guidelines, and advanced scenarios.
Detailed Guides:
Related Skills:
Query: "I made some commits on my feature branch. How do I push them to the remote?"
Expected Behavior:
Query: "I rebased my feature branch onto main. Now push is rejected. What do I do?"
Expected Behavior:
git push --force-with-lease with safety explanationQuery: "How do I push my v1.0.0 tag to GitHub?"
Expected Behavior:
Query: "My push was rejected with a message about non-fast-forward. What does that mean?"
Expected Behavior:
Query: "I forked a repository. How do I push to my fork but pull from the original?"
Expected Behavior:
Tested with:
Claude Sonnet 4.5: ✅ VERIFIED - Skill activates correctly on all trigger keywords, provides comprehensive push guidance, handles force push safety protocols effectively. Progressive disclosure works well with references loaded on-demand.
Claude Haiku 3.7: 🔄 PENDING TESTING - Need to verify: (1) Skill activation reliability, (2) Force push safety guidance clarity, (3) Progressive disclosure effectiveness.
Claude Opus 3.7: 🔄 PENDING TESTING - Need to verify: (1) Skill activation, (2) Depth of troubleshooting guidance, (3) Reference file loading behavior.
Observations:
Last Updated: 2025-11-28
Date: 2025-11-28 Model: claude-opus-4-5-20251101
Audit Status: ✅ PASS (Type A Standard Skill) Content Validation: All technical claims verified against git-scm.com, Perplexity, Microsoft Learn via MCP servers