git-github
10
总安装量
8
周安装量
#30375
全站排名
安装命令
npx skills add https://github.com/akaszubski/autonomous-dev --skill git-github
Agent 安装分布
opencode
8
gemini-cli
8
claude-code
8
github-copilot
8
codex
8
replit
7
Skill 文档
Git and GitHub Workflow Skill
Comprehensive guide for Git version control and GitHub collaboration patterns.
When This Activates
- Creating commits or branches
- Opening or reviewing pull requests
- Managing GitHub issues
- Using the gh CLI
- Keywords: “git”, “github”, “commit”, “branch”, “pr”, “pull request”, “merge”, “issue”
Conventional Commits
All commit messages follow the conventional commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types
| Type | When to Use |
|---|---|
feat |
New feature or capability |
fix |
Bug fix |
docs |
Documentation only changes |
style |
Formatting, missing semicolons, etc. |
refactor |
Code change that neither fixes a bug nor adds a feature |
perf |
Performance improvement |
test |
Adding or correcting tests |
chore |
Build process, auxiliary tools, or maintenance |
ci |
CI/CD configuration changes |
Examples
feat(auth): add JWT token refresh endpoint
fix(api): handle null response from upstream service
docs: update API reference for v2 endpoints
refactor(db): extract query builder into separate module
test(auth): add integration tests for OAuth flow
chore: upgrade dependencies to latest versions
Breaking Changes
Use ! after type or add BREAKING CHANGE: footer:
feat(api)!: change response format from XML to JSON
Branch Naming Conventions
<type>/<issue-number>-<short-description>
Patterns
| Pattern | Example |
|---|---|
| Feature | feat/123-add-user-auth |
| Bug fix | fix/456-null-pointer-crash |
| Docs | docs/789-update-api-reference |
| Refactor | refactor/101-extract-helpers |
Rules
- Use lowercase with hyphens (no underscores or spaces)
- Include issue number when applicable
- Keep descriptions under 5 words
- Delete branches after merging
PR Workflow with gh CLI
Creating Pull Requests
# Create PR with title and body
gh pr create --title "feat: add user authentication" --body "$(cat <<'EOF'
## Summary
- Add JWT-based authentication
- Implement login/logout endpoints
## Test plan
- [ ] Unit tests for token generation
- [ ] Integration tests for auth flow
EOF
)"
# Create draft PR
gh pr create --draft --title "wip: refactor database layer"
# Create PR targeting specific base branch
gh pr create --base develop --title "feat: new feature"
Reviewing Pull Requests
# List open PRs
gh pr list
# View PR details
gh pr view 123
# Check out PR locally
gh pr checkout 123
# Approve PR
gh pr review 123 --approve
# Request changes
gh pr review 123 --request-changes --body "Please fix the error handling"
# Merge PR
gh pr merge 123 --squash --delete-branch
PR Best Practices
- Keep PRs small – Under 400 lines changed when possible
- One concern per PR – Don’t mix features with refactors
- Write descriptive titles – Use conventional commit format
- Include test plan – Checklist of what to verify
- Link issues – Use “Closes #123” in body
Issue Management
Creating Issues
# Create issue with title and body
gh issue create --title "Bug: login fails on Safari" --body "Steps to reproduce..."
# Create with labels
gh issue create --title "feat: dark mode" --label "enhancement,ui"
# Create with assignee
gh issue create --title "fix: memory leak" --assignee "@me"
Issue Templates
Use labels to categorize:
| Label | Color | Purpose |
|---|---|---|
bug |
red | Something broken |
enhancement |
blue | New feature request |
documentation |
green | Docs improvement |
good first issue |
purple | Beginner friendly |
priority: high |
orange | Needs immediate attention |
Linking Issues to PRs
# In PR body
Closes #123
Fixes #456
Resolves #789
Git Hooks Best Practices
Pre-commit
# Format code
black --check src/
isort --check src/
# Lint
flake8 src/
# Check for secrets
detect-secrets scan
Pre-push
# Run tests
pytest tests/ -x --timeout=60
# Type check
mypy src/
Commit-msg
# Validate conventional commit format
pattern="^(feat|fix|docs|style|refactor|perf|test|chore|ci)(\(.+\))?!?: .{1,72}"
if ! echo "$1" | grep -qE "$pattern"; then
echo "Invalid commit message format"
exit 1
fi
Common Git Operations
Stashing Changes
git stash push -m "wip: authentication changes"
git stash list
git stash pop
Interactive Rebase (cleanup before PR)
git rebase -i HEAD~3 # Squash last 3 commits
Cherry-picking
git cherry-pick abc1234 # Apply specific commit
Resolving Conflicts
git merge main # Trigger merge
# Fix conflicts in editor
git add .
git commit # Complete merge
Key Takeaways
- Conventional commits – Always use type(scope): description format
- Branch naming – type/issue-description pattern
- Small PRs – Under 400 lines, one concern each
- gh CLI – Use for all GitHub operations
- Link issues – Always connect PRs to issues
- Git hooks – Automate quality checks
- Delete merged branches – Keep repository clean
Hard Rules
FORBIDDEN:
- Force-pushing to main/master without explicit approval
- Committing secrets, API keys, or credentials (use
.envfiles) - Merge commits with failing CI checks
- PRs without linked issues or description
REQUIRED:
- All PRs MUST have a description explaining the “why”
- Branch names MUST follow
type/issue-descriptionpattern - Commits MUST use conventional commit format (
feat:,fix:,docs:, etc.) - All PRs MUST pass CI before merge