정보
이 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-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/resolve-git-conflictsClaude 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 merge或git 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 --abort和git merge --abort会丢弃所有解决工作。仅在想重新开始时才中止。 - 解决后不运行测试:语法上干净的合并仍可能在逻辑上有误。始终运行测试。
- 变基后强制推送:变基共享分支后,强制推送前请与协作者沟通,因为这会重写历史。
相关技能
commit-changes— 冲突解决后的提交manage-git-branches— 导致冲突的分支工作流configure-git-repository— 仓库设置与合并策略
GitHub 저장소
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는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
이 Claude Skill은 스프레드, 오버/언더, 프로프 베트를 포함한 스포츠 베팅 시장을 분석합니다. 역사적 추이와 상황별 통계를 검토하여 가치 베트를 발견하고, 교육적 목적으로 실행 가능한 권장 사항이 담긴 구조화된 마크다운 결과를 제공합니다. 개발자는 이 기능을 스포츠 베팅 분석 도구에 활용할 수 있으며, 단순히 엔터테인먼트/교육 목적으로만 설계되었음을 유의해야 합니다.
이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
