Skip to main content

resolving-conflicts

Use when merging or cherry-picking changes cause git conflicts.

Source facts

Repository
dotnet/dotnet-docker
Last source activity
September 8, 2026 at 19:29
Detected SKILL.md language
English
Stars
4,877
Forks
1,978

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
resolving-conflicts
description
Use when merging or cherry-picking changes cause git conflicts.
# Resolving branch conflicts 1. Name the source and target branches. Read the [branch guide](../../../eng/developer-docs/branches.md) before choosing either side. 2. Remember that `ours` and `theirs` depend on the Git operation. Inspect the stages with `git ls-files -u`; never resolve a file based only on those labels. 3. Resolve authored inputs first, then regenerate derived files. | Conflict | Resolution | | --- | --- | | `manifest.versions.json` | Start with the target's branch and product versions. Apply only the source component/version keys required by the port. "Newest" is not a rule: nightly daily builds and release servicing builds have different intent. | | `manifest.json` | Combine structural image changes, but preserve the target's image set, repositories, `latest` ownership, floating tags, and preview suffixes. | | `eng/dockerfile-templates/**` | Keep shared build logic from both changes. Retain a difference only when the target builds a different product or OS matrix. | | `src/**/Dockerfile` | Do not hand-merge generated Dockerfiles. Resolve manifests and templates, then regenerate them. | | README and portal docs | Resolve README templates and manifests, then regenerate. Preserve target-specific official or nightly links and tag listings. | | Tests and baselines | Port shared behavior tests. Preserve the target product matrix and regenerate baselines after resolving source. | | Pipelines and workflows | Combine shared logic; preserve target-specific triggers, branch names, feeds, service connections, staging, and publishing behavior. | | Modify/delete conflicts | Decide whether the image or feature belongs on the target branch. Do not restore or delete it merely to clear the conflict. | | Other authored files | Merge the behavior semantically. A clean conflict marker resolution is not proof that the result is correct. | Always regenerate Dockerfiles and READMEs when templates change. Review `git diff --check`, generated-file consistency, tags, versions, image sets, and branch references. Run targeted pre-build tests. If the intended target behavior is unclear, stop and record the unresolved decision instead of guessing.
View on GitHub