Skip to main content

pull

Merge local `main` into the current branch and resolve merge conflicts

来源信息

仓库
EveryInc/symphony-thumbtack
最近来源活动
2026年5月6日 00:43
检测到的 SKILL.md 语言
英语
星标
4
分支
4

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
pull
description
Merge local `main` into the current branch and resolve merge conflicts
# Pull (offline-demo) There is no remote in this demo. "Pull" here means: bring local `main` commits into the current feature branch. ## Workflow 1. Verify a clean working tree. Commit or stash before merging. 2. Enable rerere so conflict resolutions are remembered: ```sh git config rerere.enabled true git config rerere.autoupdate true ``` 3. Confirm you're on the feature branch (`symphony/<identifier>`), not on `main`: ```sh git branch --show-current ``` 4. Merge `main` into the current branch: ```sh git -c merge.conflictstyle=zdiff3 merge main ``` 5. If conflicts: resolve, `git add <files>`, `git commit` (or `git merge --continue`). 6. Verify nothing was missed: `git diff --check`. Note: `git pull` and `git fetch origin` will both fail in this demo because there is no `origin`. Use `git merge main` directly. ## Conflict resolution - Inspect intent: `git status`, `git diff --merge`, and `git diff :1:path :2:path` (base vs ours), `git diff :1:path :3:path` (base vs theirs) for file-level views. - With `merge.conflictstyle=zdiff3`, conflict markers show: `<<<<<<<` ours, `|||||||` base, `=======` split, `>>>>>>>` theirs. Matching context near the edges is trimmed automatically. - Decide the **final intended behavior** first; only then craft the code. - Prefer minimal, intention-preserving edits. - Resolve one file at a time and rerun any local tests after each batch. - Use `ours`/`theirs` only when one side should clearly win entirely. - Generated files: resolve source first, then regenerate, then stage. - Import conflicts: keep both temporarily, then prune via lint/typecheck. ## When to ask the user Default: don't. Make a best-effort decision, document the rationale in the merge commit, and proceed. Ask only when: - Resolution depends on product intent that isn't inferable from code/tests. - A user-visible API contract is at stake. - The merge introduces irreversible side effects (data loss, schema drops). - The branch or remote isn't what you expected.
在 GitHub 查看