How do you resolve a merge conflict, and how do you avoid them?
CI/CD & GitOps · Intermediate level
Answer
To resolve a merge conflict, I identify conflicting files, edit them to the intended final content, run tests, stage the resolved files, and continue the merge or rebase. To avoid conflicts, I keep branches short-lived, pull frequently, and split large changes.
Technical explanation
Use commands that preserve team auditability on shared branches; rewrite only local or explicitly coordinated history.
Always run the relevant test suite after conflict resolution or cherry-picking because code may compile but behavior can change.
Git history is both collaboration state and audit evidence, so choose merge, rebase, revert, and reset based on whether history is shared.
Short-lived branches reduce merge conflicts and make CI feedback meaningful; long-lived branches increase drift and integration risk.
Tags, release branches, signed commits, and changelogs connect source history to released artifacts and operational traceability.
Prefer safe, reviewable operations on shared branches: revert bad changes, open PRs for backports, and avoid force-pushes unless the team explicitly coordinates them.
Hands-on example
1. Practice the Git operation for: How do you resolve a merge conflict, and how do you avoid them in a throwaway repository with main, feature, release, and hotfix branches.
2. Create commits on multiple branches, then run the relevant commands: git merge, git rebase main, git cherry-pick <sha>, git revert <sha>, git tag -a v1.2.3, or git reset --hard only on a private branch.
3. Inspect the result with git log --oneline --graph --decorate --all and verify whether history was preserved, replayed, tagged, or safely undone.
4. Push through a pull request with required CI checks, run tests after conflict resolution or cherry-pick, and document why that operation was chosen.
5. For release scenarios, build from a signed tag, publish the artifact with the commit SHA and version, and confirm the release notes match the merged changes.
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More CI/CD & GitOps interview questions
- What is CI/CD, and what is the difference between continuous delivery and continuous deployment?
- What are the goals of a CI pipeline beyond just running tests?
- What is Jenkins, and what is the difference between a controller and an agent?
- What is the difference between a freestyle job and a pipeline job in Jenkins?
- What is the difference between a declarative and a scripted Jenkins pipeline?
- What is a Jenkinsfile, and why keep your pipeline as code in the repo?
- Explain the structure of a declarative pipeline (agent, stages, steps, post).
- What is the post section used for, and what are its conditions (success, failure, always)?