MCP HubMCP Hub
SKILL·89303F

resolve-git-conflicts

pjt222
업데이트됨 1 month ago
10 조회
26
3
26
GitHub에서 보기
기타general

정보

이 Claude Skill은 개발자들이 병합(merge), 리베이스(rebase), 체리픽(cherry-pick) 또는 스태시(stash) 작업 중 발생하는 Git 충돌을 안전하게 해결하도록 도와줍니다. 사용자가 충돌 원인을 파악하고, 충돌 마커를 해석하며, 해결 전략을 선택하고, 작업을 안전하게 계속하거나 중단하는 과정을 안내합니다. Git이 충돌을 보고하거나 실패한 병합/리베이스 시도를 복구해야 할 때 사용하세요.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/resolve-git-conflicts

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서


name: resolve-git-conflicts description: > 使用安全的恢复策略解决合并和变基冲突。涵盖识别冲突来源、读取冲突标记、 选择解决策略,以及安全地继续或中止操作。适用于 git merge、rebase、 cherry-pick 或 stash pop 报告冲突、git pull 导致更改冲突,或需要安全 中止并重新开始失败的合并或变基操作。 locale: zh-CN source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: git complexity: intermediate language: multi tags: git, merge-conflicts, rebase, conflict-resolution, version-control

解决 Git 冲突

识别、解决并从合并和变基冲突中恢复。

适用场景

  • git mergegit rebase 报告冲突
  • git cherry-pick 无法干净应用
  • git pull 导致更改冲突
  • git stash pop 与当前工作区冲突

输入

  • 必需:存在活跃冲突的仓库
  • 可选:首选解决策略(ours、theirs、手动)
  • 可选:关于哪些更改应优先的上下文信息

步骤

第 1 步:识别冲突来源

确定引起冲突的操作:

# Check current status
git status

# Look for indicators:
# "You have unmerged paths" — merge conflict
# "rebase in progress" — rebase conflict
# "cherry-pick in progress" — cherry-pick conflict

状态输出会告知哪些文件存在冲突以及当前进行中的操作。

预期结果: git status 显示列在"Unmerged paths"下的文件,并指示当前活跃的操作。

失败处理:git status 显示工作区干净但预期存在冲突,则操作可能已完成或已中止。检查 git log 查看近期活动。

第 2 步:读取冲突标记

打开每个冲突文件,定位冲突标记:

<<<<<<< HEAD
// Your current branch's version
const result = calculateWeightedMean(data, weights);
=======
// Incoming branch's version
const result = computeWeightedAverage(data, weights);
>>>>>>> feature/rename-functions
  • <<<<<<< HEAD=======:当前分支的版本(或正在变基到的分支)
  • =======>>>>>>>:传入的更改(被合并的分支或正在应用的提交)

预期结果: 每个冲突文件包含一个或多个带有 <<<<<<<=======>>>>>>> 标记的块。

失败处理: 若未找到标记但文件显示为冲突,可能是二进制文件冲突或"已删除 vs 已修改"冲突。使用 git diff --name-only --diff-filter=U 查看完整冲突列表。

第 3 步:选择解决策略

手动合并(最常用):编辑文件以逻辑方式合并两侧更改,然后删除所有冲突标记。

采用我方(保留当前分支版本):

# For a single file
git checkout --ours path/to/file.R
git add path/to/file.R

# For all conflicts
git checkout --ours .
git add -A

采用对方(保留传入分支版本):

# For a single file
git checkout --theirs path/to/file.R
git add path/to/file.R

# For all conflicts
git checkout --theirs .
git add -A

预期结果: 解决后,文件包含正确的合并内容,不残留任何冲突标记。

失败处理: 若选择了错误的一侧,可从合并基础重新读取冲突版本。在合并过程中,git checkout -m path/to/file 会重新创建冲突标记,让你重新尝试。

第 4 步:将文件标记为已解决

编辑完每个冲突文件后:

# Stage the resolved file
git add path/to/resolved-file.R

# Check remaining conflicts
git status

对"Unmerged paths"下列出的每个文件重复此操作。

预期结果: 所有文件从"Unmerged paths"移动到"Changes to be committed",任何文件中均不残留冲突标记。

失败处理:git add 失败或标记仍然存在,请重新打开文件,确保所有 <<<<<<<=======>>>>>>> 行已被删除。

第 5 步:继续操作

所有冲突解决后:

合并操作

git commit
# Git auto-populates the merge commit message

变基操作

git rebase --continue
# May encounter more conflicts on subsequent commits — repeat steps 2-4

cherry-pick 操作

git cherry-pick --continue

stash pop 操作

# Stash pop conflicts don't need a continue — just commit or reset
git add .
git commit -m "Apply stashed changes with conflict resolution"

预期结果: 操作完成,git status 显示干净的工作区(或在 rebase 过程中移至下一个提交)。

失败处理: 若 continue 命令失败,检查 git status 查看剩余未解决的文件。所有冲突必须解决后才能继续。

第 6 步:必要时中止操作

若解决过于复杂或选择了错误的方法,可安全中止:

# Abort merge
git merge --abort

# Abort rebase
git rebase --abort

# Abort cherry-pick
git cherry-pick --abort

预期结果: 仓库恢复到操作开始前的状态,无数据丢失。

失败处理: 若中止失败(罕见情况),使用 git reflog 找到操作前的提交,并通过 git reset --hard <commit> 恢复。谨慎使用——此操作会丢弃未提交的更改。

第 7 步:验证解决结果

操作完成后:

# Verify clean working tree
git status

# Check that the merge/rebase result is correct
git log --oneline -5
git diff HEAD~1

# Run tests to confirm nothing is broken
# (language-specific: devtools::test(), npm test, cargo test, etc.)

预期结果: 工作区干净,合并历史正确,测试通过。

失败处理: 若解决后测试失败,合并可能引入了逻辑错误,即使语法冲突已解决。请仔细审查差异并修复。

验证清单

  • 所有文件中均不残留冲突标记(<<<<<<<=======>>>>>>>
  • git status 显示干净的工作区
  • git log 中的合并/变基历史正确
  • 冲突解决后测试通过
  • 未引入意外的更改

常见问题

  • 盲目采用一侧--ours--theirs 会完全丢弃另一侧。仅在确定某个版本完全正确时使用。
  • 代码中残留冲突标记:编辑后始终搜索整个文件中的残留标记。部分解决会导致代码损坏。
  • 变基过程中修改提交:在交互式变基过程中,除非变基步骤明确要求,否则不要使用 --amend。改用 git rebase --continue
  • 中止时丢失工作git rebase --abortgit merge --abort 会丢弃所有解决工作。仅在想重新开始时才中止。
  • 解决后不运行测试:语法上干净的合并仍可能在逻辑上有误。始终运行测试。
  • 变基后强制推送:变基共享分支后,强制推送前请与协作者沟通,因为这会重写历史。

相关技能

  • commit-changes — 冲突解决后的提交
  • manage-git-branches — 导致冲突的分支工作流
  • configure-git-repository — 仓库设置与合并策略

GitHub 저장소

pjt222/agent-almanac
경로: i18n/zh-CN/skills/resolve-git-conflicts
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams
FAQ

Frequently asked questions

What is the resolve-git-conflicts skill?

resolve-git-conflicts is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform resolve-git-conflicts-related tasks without extra prompting.

How do I install resolve-git-conflicts?

Use the install commands on this page: add resolve-git-conflicts to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.

What category does resolve-git-conflicts belong to?

resolve-git-conflicts is in the Other category, tagged general.

Is resolve-git-conflicts free to use?

Yes. resolve-git-conflicts is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.

연관 스킬

llamaguard
기타

LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.

스킬 보기
cost-optimization
기타

이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.

스킬 보기
sports-betting-analyzer
기타

이 Claude Skill은 스프레드, 오버/언더, 프로프 베트를 포함한 스포츠 베팅 시장을 분석합니다. 역사적 추이와 상황별 통계를 검토하여 가치 베트를 발견하고, 교육적 목적으로 실행 가능한 권장 사항이 담긴 구조화된 마크다운 결과를 제공합니다. 개발자는 이 기능을 스포츠 베팅 분석 도구에 활용할 수 있으며, 단순히 엔터테인먼트/교육 목적으로만 설계되었음을 유의해야 합니다.

스킬 보기
quantizing-models-bitsandbytes
기타

이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.

스킬 보기