Agent skill
git-workflow-mastery
Advanced Git workflows, branching strategies, and commit conventions
Install this agent skill to your Project
npx add-skill https://github.com/autohandai/community-skills/tree/main/git-workflow-mastery
SKILL.md
Git Workflow Mastery
Branching Strategies
GitHub Flow (Simple)
main ────●────●────●────●────●────
\ /
feature ●───●───●
Best for: Continuous deployment, small teams
Git Flow (Structured)
main ────●─────────────────●────
\ /
release ●─────●───────●
\ /
develop ────●───●───●───●───●────
\ /
feature ●───●
Best for: Scheduled releases, larger teams
Branch Naming
# Feature branches
feature/user-authentication
feature/JIRA-123-add-login
# Bug fixes
fix/login-redirect-loop
fix/JIRA-456-null-pointer
# Releases
release/v1.2.0
release/2024-q1
# Hotfixes
hotfix/security-patch
hotfix/v1.2.1
Commit Messages
Conventional Commits
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types
feat: # New feature
fix: # Bug fix
docs: # Documentation only
style: # Formatting, no code change
refactor: # Code change without feature/fix
perf: # Performance improvement
test: # Adding/updating tests
chore: # Build process, dependencies
ci: # CI configuration
revert: # Revert previous commit
Examples
# Simple
feat(auth): add OAuth2 login support
# With body
fix(api): handle null response from external service
The external payment API occasionally returns null
instead of an error object. Added defensive check.
Fixes #234
# Breaking change
feat(api)!: change response format to JSON:API
BREAKING CHANGE: All API responses now follow JSON:API spec.
Clients need to update their parsers.
Common Operations
Interactive Rebase
# Squash last 3 commits
git rebase -i HEAD~3
# In editor:
pick abc1234 First commit
squash def5678 Second commit
squash ghi9012 Third commit
Cherry Pick
# Apply specific commit to current branch
git cherry-pick abc1234
# Cherry pick range
git cherry-pick abc1234..def5678
Stashing
# Save work in progress
git stash push -m "WIP: feature login"
# List stashes
git stash list
# Apply and remove
git stash pop
# Apply specific stash
git stash apply stash@{2}
Undoing Changes
# Undo last commit (keep changes)
git reset --soft HEAD~1
# Undo last commit (discard changes)
git reset --hard HEAD~1
# Undo a pushed commit (new revert commit)
git revert abc1234
# Discard all local changes
git checkout -- .
git clean -fd
Advanced Techniques
Bisect (Find Bug Introduction)
git bisect start
git bisect bad # Current commit is broken
git bisect good v1.0.0 # Known good commit
# Git checks out middle commit
# Test and mark:
git bisect good # or
git bisect bad
# Continue until bug found
git bisect reset
Reflog (Recover Lost Commits)
# View reflog
git reflog
# Recover deleted branch
git checkout -b recovered-branch abc1234
# Undo hard reset
git reset --hard HEAD@{2}
Worktrees (Multiple Working Directories)
# Create worktree for feature branch
git worktree add ../feature-branch feature/new-ui
# List worktrees
git worktree list
# Remove worktree
git worktree remove ../feature-branch
Hooks
Pre-commit Hook
#!/bin/sh
# .git/hooks/pre-commit
# Run linter
npm run lint
if [ $? -ne 0 ]; then
echo "Lint failed. Commit aborted."
exit 1
fi
# Run tests
npm test
if [ $? -ne 0 ]; then
echo "Tests failed. Commit aborted."
exit 1
fi
Commit-msg Hook
#!/bin/sh
# .git/hooks/commit-msg
# Validate conventional commit format
commit_regex='^(feat|fix|docs|style|refactor|perf|test|chore|ci|revert)(\(.+\))?: .{1,72}'
if ! grep -qE "$commit_regex" "$1"; then
echo "Invalid commit message format."
echo "Use: type(scope): description"
exit 1
fi
Git Aliases
# ~/.gitconfig
[alias]
co = checkout
br = branch
ci = commit
st = status
lg = log --oneline --graph --decorate
undo = reset --soft HEAD~1
amend = commit --amend --no-edit
wip = !git add -A && git commit -m 'WIP'
sync = !git fetch origin && git rebase origin/main
Best Practices
- Commit early, commit often - Small, focused commits
- Write meaningful commit messages - Explain why, not just what
- Keep main/master deployable - Always in working state
- Review before merging - Use pull requests
- Delete merged branches - Keep repository clean
- Never rewrite shared history - No force push to shared branches
- Use tags for releases - Semantic versioning
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
mapping-mitre-attack-techniques
Maps observed adversary behaviors, security alerts, and detection rules to MITRE ATT&CK techniques and sub-techniques to quantify detection coverage and guide control prioritization. Use when building an ATT&CK-based coverage heatmap, tagging SIEM alerts with technique IDs, aligning security controls to adversary playbooks, or reporting threat exposure to executives. Activates for requests involving ATT&CK Navigator, Sigma rules, MITRE D3FEND, or coverage gap analysis.
hunting-for-spearphishing-indicators
Hunt for spearphishing campaign indicators across email logs, endpoint telemetry, and network data to detect targeted email attacks.
analyzing-malicious-url-with-urlscan
URLScan.io is a free service for scanning and analyzing suspicious URLs. It captures screenshots, DOM content, HTTP transactions, JavaScript behavior, and network connections of web pages in an isolat
implementing-zero-standing-privilege-with-cyberark
Deploy CyberArk Secure Cloud Access to eliminate standing privileges in hybrid and multi-cloud environments using just-in-time access with time, entitlement, and approval controls.
implementing-pam-for-database-access
Deploy privileged access management for database systems including Oracle, SQL Server, PostgreSQL, and MySQL. Covers session proxy configuration, credential vaulting, query auditing, dynamic credentia
detecting-t1003-credential-dumping-with-edr
Detect OS credential dumping techniques targeting LSASS memory, SAM database, NTDS.dit, and cached credentials using EDR telemetry, Sysmon process access monitoring, and Windows security event correlation.
Didn't find tool you were looking for?