Try free
4 min read Guide 489 of 877

Git Workflow Integration

Connecting Git activity to project management creates complete traceability from requirements to code. GitScrum's native Git integration automatically links commits, branches, and pull requests to tasks, providing real-time visibility into development progress without manual status updates.

Git Integration Benefits

Without IntegrationWith Integration
Manual status updatesAutomatic from Git activity
No traceabilityCommits linked to tasks
Context switchingSingle source of truth
Duplicate info entrySynced automatically
Review lacks contextPR shows related task

Git Workflow with GitScrum

INTEGRATED DEVELOPMENT WORKFLOW

1. PICK UP TASK
┌─────────────────────────────────────────────────┐
│  Developer assigns self to task GS-456          │
│  Task: "Add user authentication"                │
│  Status: To Do → In Progress                    │
└─────────────────────────────────────────────────┘
                      │
                      ▼
2. CREATE BRANCH
┌─────────────────────────────────────────────────┐
│  git checkout -b feature/GS-456-user-auth       │
│                                                 │
│  GitScrum detects: Branch linked to GS-456      │
│  Status: Automatically updated                  │
└─────────────────────────────────────────────────┘
                      │
                      ▼
3. COMMIT WITH REFERENCE
┌─────────────────────────────────────────────────┐
│  git commit -m "GS-456: Add login endpoint"     │
│  git commit -m "GS-456: Add auth middleware"    │
│                                                 │
│  GitScrum: Commits appear in task timeline      │
└─────────────────────────────────────────────────┘
                      │
                      ▼
4. OPEN PULL REQUEST
┌─────────────────────────────────────────────────┐
│  PR Title: "GS-456: User authentication"        │
│  Description: Links to task automatically       │
│                                                 │
│  GitScrum: PR linked, status → In Review        │
└─────────────────────────────────────────────────┘
                      │
                      ▼
5. MERGE & COMPLETE
┌─────────────────────────────────────────────────┐
│  PR merged to main                              │
│                                                 │
│  GitScrum: Status → Done                        │
│  Full history preserved                         │
└─────────────────────────────────────────────────┘

Branch Naming Conventions

BRANCH NAMING PATTERNS

FORMAT: <type>/<task-id>-<short-description>

EXAMPLES:
┌─────────────────────────────────────────────────┐
│  feature/GS-123-user-authentication             │
│  bugfix/GS-456-fix-login-error                  │
│  hotfix/GS-789-security-patch                   │
│  refactor/GS-101-cleanup-api                    │
└─────────────────────────────────────────────────┘

TYPE PREFIXES:
• feature/  - New features
• bugfix/   - Bug fixes  
• hotfix/   - Production emergency
• refactor/ - Code improvement
• docs/     - Documentation
• test/     - Test additions

Commit Message Format

CONVENTIONAL COMMITS WITH TASK ID

FORMAT:
<task-id>: <type>: <description>

EXAMPLES:
┌─────────────────────────────────────────────────┐
│  GS-123: feat: add user registration endpoint   │
│  GS-123: test: add registration tests           │
│  GS-456: fix: resolve null pointer in login     │
│  GS-789: docs: update API documentation         │
└─────────────────────────────────────────────────┘

TYPES:
• feat     - New feature
• fix      - Bug fix
• docs     - Documentation
• style    - Formatting
• refactor - Code restructuring
• test     - Tests
• chore    - Maintenance

Automation Rules

GIT → TASK STATUS AUTOMATION

TRIGGER: Branch created with task ID
ACTION:  Move task to "In Progress"
┌─────────────────────────────────────────────────┐
│  When: Branch name matches /GS-\d+/             │
│  Then: Update task status → In Progress         │
│  Also: Assign to branch creator (if unassigned) │
└─────────────────────────────────────────────────┘

TRIGGER: PR opened with task ID
ACTION:  Move task to "In Review"
┌─────────────────────────────────────────────────┐
│  When: PR title/body contains GS-XXX            │
│  Then: Update task status → In Review           │
│  Also: Link PR to task                          │
└─────────────────────────────────────────────────┘

TRIGGER: PR merged
ACTION:  Move task to "Done"
┌─────────────────────────────────────────────────┐
│  When: PR merged to main/master                 │
│  Then: Update task status → Done                │
│  Also: Add completion timestamp                 │
└─────────────────────────────────────────────────┘

Best Practices

  1. Always include task ID in branch and commits
  2. Use consistent naming across the team
  3. Link PRs to tasks for review context
  4. Automate status updates from Git activity
  5. Review task before merge for acceptance criteria
  6. Squash commits with task reference
  7. Protect main branch require task linkage
  8. Archive Git history in task timeline

Anti-Patterns

✗ Commits without task references
✗ Manual status updates when automation possible
✗ Multiple tasks in single branch
✗ No PR to task linkage
✗ Inconsistent naming conventions
✗ Separate tracking of code and tasks