DevOps Foundations · Module 4: Git and team workflow · Lab
Resolve a Conflict Preserving Behavior
40 min hands-on · Core
Local Git in a scratch repo under /tmp/dlab-m04-01; no remotes, no real code.
Two ways to do this lab: in your browser on Killercoda (free, no install), or on your own machine as a local guide. Killercoda runs one free scenario at a time: if you see a waiting queue, close other Killercoda tabs and wait a minute.
Objectives
- Produce a genuine two-sided conflict with documented reasons
- Resolve for combined behavior rather than picking a side
- Prove the resolution with a test written before resolving
Step 1
Stage the collision
On main, set TIMEOUT=30 with a commit message about a slow dependency. On a branch from the same base, set TIMEOUT=10 with a message about an incident review. Merge and confirm the conflict markers.
Step 2
Test first, then resolve
Before touching markers, write the smallest check capturing the combined intent (per-environment values, or the documented compromise). Then resolve the file to satisfy that check and clear all markers.
Step 3
Commit the reasoning
Commit with a message naming both sides and why the resolution serves both. Show the graph, the message, and the passing check.
How to confirm it worked
- Both sides committed with distinct documented reasons
- The check predates the resolution and passes after it
- No markers remain; message records both sides and the reasoning
- Neither side was deleted without a stated reason