Every conflict has three sides. Yours, theirs, and the common ancestor's.
We provide a calm, judgement-free space for branches in conflict. We are not here to decide who is right. We are here to decide who rebases.
Conflicts are normal. Conflicts are healthy. Conflicts are currently blocking the release, which is why you are here.
Evidence-adjacent methods, delivered gently
Our practitioners are trained in modern conflict resolution and at least one version control system each.
Three-way empathy
We always involve the common ancestor. You have both changed since then. That is allowed. That is growth. That is also the problem.
Non-violent conflict markers
The markers are not walls. They are boundaries, and boundaries are healthy. Nobody is "less than", except in the diff, syntactically.
Acceptance work
Sometimes both changes are valid. Sometimes neither is. Sometimes the healthiest resolution is deleting the file and sitting quietly.
Formats of care
All sessions are 50 minutes, like a sprint that respects you.
You and your uncommitted feelings
For the developer holding changes they are afraid to push. We explore why. The answer is usually the reviewer.
HEAD and incoming
Our core practice. Two branches, one file, irreconcilable opinions about naming. We facilitate. The working tree is a safe space.
The monorepo circle
For teams whose conflicts have conflicts. Chairs are arranged in a directed acyclic graph. Everyone gets to speak, in topological order.
Your first session
- Each branch reads its version aloud. No interrupting. No force-pushing while the other is speaking.
- The therapist asks how that made HEAD feel. HEAD is encouraged to use "I" statements, such as "I am detached".
- Together we identify what you are really fighting about. It is never the code. It is respect, recognition, and one comment from a review in 2024.
- Homework is assigned. It is usually "talk to each other before opening the pull request". Nobody does it. We assign it anyway, gently.
Words from former conflicts
"After six sessions, we finally merged. We kept both implementations. Neither is called. We are at peace."
Backend team, fintech"Our therapist taught us that --ours and --theirs are not identities. They are strategies. I still think about that."
Anonymous, platform engineering"We came in fighting about tabs and spaces. We left understanding it was never about whitespace. It was about my father, who also used tabs."
Staff engineer"They let the common ancestor speak for the first time. There wasn't a dry eye in the repository."
Open source maintainerWe have availability
We always have availability. Conflicts are constant. It is the one thing we can promise you.
In crisis right now?
If you are currently in a detached HEAD state, do not attempt to resolve alone. Our crisis line is staffed around the clock by counsellors who will stay with you until you are safely on a named branch.
We also make house calls. counsel, our mergetool, will sit with you and your conflict in the terminal, hear both sides in full, and leave the resolution where it belongs: with you. curl -fsS https://mergeconflictcounselling.com/counsel to bring the practice home.