Install any skill in seconds. Free to start, no credit card required.
Get Started Free →This skill should be used when the user asks to "create git commit", "manage branches", "follow git workflow", "use Conventional Commits", "handle merge conflicts", or asks about git branching strategies, version control best practices, pull request workflows. Provides comprehensive Git workflow guidance for team collaboration.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 105% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 161% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 337% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 568% | 0% |
This document defines the project's Git usage standards, including commit message format, branch management strategy, workflows, merge strategies, and more. Following these standards improves collaboration efficiency, enables traceability, supports automation, and reduces conflicts.
The project follows the Conventional Commits specification:
<type>(<scope>): <subject>
<body>
<footer>| Type | Description | Example | | :--- | :--- | :--- | | feat | New feature | feat(user): add user export functionality | | fix | Bug fix | fix(login): fix captcha not refreshing | | docs | Documentation update | docs(api): update API documentation | | refactor | Refactoring | refactor(utils): refactor utility functions | | perf | Performance improvement | perf(list): optimize list performance | | test | Test related | test(user): add unit tests | | chore | Other changes | chore: update dependency versions |
For more detailed conventions and examples, see references/commit-conventions.md.
| Branch Type | Naming Convention | Description | Lifecycle | | :--- | :--- | :--- | :--- | | master | master | Main branch, releasable state | Permanent | | develop | develop | Development branch, latest integrated code | Permanent | | feature | feature/feature-name | Feature branch | Delete after completion | | bugfix | bugfix/issue-description | Bug fix branch | Delete after fix | | hotfix | hotfix/issue-description | Emergency fix branch | Delete after fix | | release | release/version-number | Release branch | Delete after release |
feature/user-management # User management feature
feature/123-add-export # Issue-linked feature
bugfix/login-error # Login error fix
hotfix/security-vulnerability # Security vulnerability fix
release/v1.0.0 # Version releasemaster branch:
develop branch:
For detailed branch strategies and workflows, see references/branching-strategies.md.
bash# 1. Sync latest code git checkout develop git pull origin develop # 2. Create feature branch git checkout -b feature/user-management # 3. Develop and commit git add . git commit -m "feat(user): add user list page" # 4. Push to remote git push -u origin feature/user-management # 5. Create Pull Request and request Code Review # 6. Merge to develop (via PR) # 7. Delete feature branch git branch -d feature/user-management git push origin -d feature/user-management
bash# 1. Create fix branch from master git checkout master git pull origin master git checkout -b hotfix/critical-bug # 2. Fix and commit git add . git commit -m "fix(auth): fix authentication bypass vulnerability" # 3. Merge to master git checkout master git merge --no-ff hotfix/critical-bug git tag -a v1.0.1 -m "hotfix: fix authentication bypass vulnerability" git push origin master --tags # 4. Sync to develop git checkout develop git merge --no-ff hotfix/critical-bug git push origin develop
bash# 1. Create release branch git checkout develop git checkout -b release/v1.0.0 # 2. Update version numbers and documentation # 3. Commit version update git add . git commit -m "chore(release): prepare release v1.0.0" # 4. Merge to master git checkout master git merge --no-ff release/v1.0.0 git tag -a v1.0.0 -m "release: v1.0.0 official release" git push origin master --tags # 5. Sync to develop git checkout develop git merge --no-ff release/v1.0.0 git push origin develop
| Feature | Merge | Rebase | | :--- | :--- | :--- | | History | Preserves complete history | Linear history | | Use case | Public branches | Private branches | | Recommended for | Merging to main branch | Syncing upstream code |
rebasemerge --no-ffmerge --no-ffbash# ✅ Recommended: Feature branch syncing develop git checkout feature/user-management git rebase develop # ✅ Recommended: Merge feature branch to develop git checkout develop git merge --no-ff feature/user-management # ❌ Not recommended: Rebase on public branch git checkout develop git rebase feature/xxx # Dangerous operation
Project convention: Use --no-ff when merging feature branches to preserve branch history.
For detailed merge strategies and techniques, see references/merge-strategies.md.
<<<<<<< HEAD
// Current branch code
const name = 'Alice'
=======
// Branch being merged
const name = 'Bob'
>>>>>>> feature/user-managementbash# 1. View conflicting files git status # 2. Manually edit files to resolve conflicts # 3. Mark as resolved git add <file> # 4. Complete the merge git commit # merge conflict # or git rebase --continue # rebase conflict
bash# Keep current branch version git checkout --ours <file> # Keep incoming branch version git checkout --theirs <file> # Abort merge git merge --abort git rebase --abort
For detailed conflict handling and advanced techniques, see references/conflict-resolution.md.
# Ignore all .log files
*.log
# Ignore directories
node_modules/
# Ignore directory at root
/temp/
# Ignore files in all directories
**/.env
# Don't ignore specific files
!.gitkeepnode_modules/
dist/
build/
.idea/
.vscode/
.env
.env.local
logs/
*.log
.DS_Store
Thumbs.dbFor detailed .gitignore patterns and project-specific configurations, see references/gitignore-guide.md.
Uses Semantic Versioning:
MAJOR.MINOR.PATCH[-PRERELEASE]bash# Create annotated tag (recommended) git tag -a v1.0.0 -m "release: v1.0.0 official release" # Push tags git push origin v1.0.0 git push origin --tags # View tags git tag git show v1.0.0 # Delete tag git tag -d v1.0.0 git push origin :refs/tags/v1.0.0
PRs should include:
markdown## Change Description <!-- Describe the content and purpose of this change --> ## Change Type - [ ] New feature (feat) - [ ] Bug fix (fix) - [ ] Code refactoring (refactor) ## Testing Method <!-- Describe how to test --> ## Related Issue Closes #xxx ## Checklist - [ ] Code has been self-tested - [ ] Documentation has been updated
Review focus areas:
For detailed collaboration standards and best practices, see references/collaboration.md.
bash# Amend commit content (not yet pushed) git add forgotten-file.ts git commit --amend --no-edit # Amend commit message git commit --amend -m "new commit message"
bash# Pull then push git pull origin master git push origin master # Use rebase for cleaner history git pull --rebase origin master git push origin master
bash# Reset to specific commit (discards subsequent commits) git reset --hard abc123 # Create reverse commit (recommended, preserves history) git revert abc123
bashgit stash save "work in progress" git stash list git stash pop
bashgit log -- <file> # Commit history git log -p -- <file> # Detailed content git blame <file> # Per-line author
✅ Recommended:
❌ Prohibited:
✅ Recommended:
--no-ff merge to preserve history❌ Prohibited:
✅ Recommended:
❌ Prohibited:
For detailed guidance on specific topics:
references/commit-conventions.md - Commit message detailed conventions and examplesreferences/branching-strategies.md - Comprehensive branch management strategiesreferences/merge-strategies.md - Merge, rebase, and conflict resolution strategiesreferences/conflict-resolution.md - Detailed conflict handling and preventionreferences/advanced-usage.md - Git performance optimization, security, submodules, and advanced techniquesreferences/collaboration.md - Pull request and code review guidelinesreferences/gitignore-guide.md - .gitignore patterns and project-specific configurationsWorking examples in examples/:
examples/commit-messages.txt - Good commit message examplesexamples/workflow-commands.sh - Common workflow command snippetsThis document defines the project's Git standards:
Following these standards improves collaboration efficiency, ensures code quality, and simplifies version management.
Other measured skills in the registry, with their headline benchmark lift.