Install
openclaw skills install @thcjp/git-helper-tool-proopenclaw skills install @thcjp/git-helper-tool-proGit助手专业版为企业研发团队提供智能Git辅助能力。在免费版操作指引之上,专业版新增智能冲突分析、自动修复建议、批量仓库诊断、自动化故障恢复和团队知识库,帮助团队高效解决Git问题. 专业版完全兼容免费版的所有指引和检查清单,研发团队可从免费版无缝升级,已有配置和工作流无需修改.
自动分析冲突内容,提供修复建议.
详细代码示例已移至
references/detail.md
处理: 解析智能冲突分析的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回智能冲突分析的响应数据,包含状态码、结果和日志.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | Git助手专业版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
class ConflictResolver:
"""冲突自动修复工具"""
# ...
@staticmethod
def auto_resolve(filepath, cwd=None):
"""自动解决可自动处理的冲突"""
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
# ...
resolved_count = 0
pattern = re.compile(
r'<<<<<<< (\S+)\n(.*?)=======\n(.*?)>>>>>>> (\S+)',
re.DOTALL
)
# ...
def resolver(match):
nonlocal resolved_count
our_code = match.group(2)
their_code = match.group(3)
# ...
analysis = ConflictAnalyzer._analyze_conflict_content(
our_code.strip(), their_code.strip()
)
# ...
if analysis["auto_resolvable"]:
resolved_count += 1
# ...
if analysis["type"] == "whitespace":
return our_code.strip() + '\n'
elif analysis["type"] == "import":
all_imports = set()
for line in (our_code + their_code).split('\n'):
if line.strip():
all_imports.add(line.strip())
return '\n'.join(sorted(all_imports)) + '\n'
elif analysis["type"] == "addition":
return our_code if our_code.strip() else their_code
else:
return match.group(0)
# ...
new_content = pattern.sub(resolver, content)
# ...
if resolved_count > 0:
with open(filepath, 'w', encoding='utf-8') as f:
f.write(new_content)
# ...
return {
"file": filepath,
"auto_resolved": resolved_count,
"remaining": content.count('<<<<<<<') - resolved_count
}
# ...
@staticmethod
def batch_auto_resolve(cwd=None):
"""批量自动解决冲突"""
result = subprocess.run(
["git", "diff", "--name-only", "--diff-filter=U"],
capture_output=True, text=True, cwd=cwd
)
files = result.stdout.strip().split('\n') if result.stdout.strip() else []
# ...
results = []
for f in files:
if f:
results.append(ConflictResolver.auto_resolve(f, cwd))
# ...
return {
"total_files": len(files),
"results": results,
"total_auto_resolved": sum(r["auto_resolved"] for r in results)
}
处理: 解析自动修复建议的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回自动修复建议的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作处理: 解析批量仓库诊断的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回批量仓库诊断的响应数据,包含状态码、结果和日志.
处理: 解析自动化故障恢复的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回自动化故障恢复的响应数据,包含状态码、结果和日志.
处理: 解析团队知识库的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回团队知识库的响应数据,包含状态码、结果和日志. 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:企业级、辅助工具、支持智能冲突分析、批量诊断与团队知、提升协作效率、面向企业研发团队、的高级、团队知识库与故障、自动恢复、核心能力、智能冲突分析与自、批量仓库健康诊断、知识库与、FAQ、操作审计与回溯、团队工作流向导等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
遇到复杂冲突时获取智能分析.
#!/bin/sh
echo "=== 智能冲突解决 ==="
# ...
echo "1. 分析冲突..."
python3 -c "
from conflict_analyzer import ConflictAnalyzer
import json
print(json.dumps(analysis, indent=2, ensure_ascii=False))
print(f\"\\n冲突总数: {analysis['summary']['total_conflicts']}\")
print(f\"可自动解决: {analysis['summary']['auto_resolvable']}\")
print(f\"需手动处理: {analysis['summary']['manual_required']}\")
"
# ...
echo -e "\n2. 自动解决冲突..."
python3 -c "
from conflict_resolver import ConflictResolver
result = ConflictResolver.batch_auto_resolve()
print(f'自动解决: {result[\"total_auto_resolved\"]} 个')
"
# ...
echo -e "\n3. 剩余冲突需手动处理"
git diff --name-only --diff-filter=U
# ...
echo -e "\n4. 所有冲突解决后:"
echo " git add ."
echo " git commit"
检查团队所有仓库的健康状态.
#!/bin/sh
echo "=== 批量仓库健康检查 ==="
# ...
python3 -c "
from batch_diagnostics import BatchRepositoryDiagnostics
import json
# ...
repos = [
'/path/to/project-a',
'/path/to/project-b',
'/path/to/project-c'
]
# ...
diagnostics = BatchRepositoryDiagnostics(repos)
report = diagnostics.diagnose_all()
# ...
print(f\"总仓库数: {report['total_repos']}\")
print(f\"健康: {report['healthy']}\")
print(f\"需关注: {report['needs_attention']}\")
print(f\"错误: {report['errors']}\")
# ...
for repo, diag in report['details'].items():
status = diag['status']
issues = len(diag.get('issues', []))
print(f' [{status}] {repo} ({issues}个问题)')
"
遇到Git问题时自动检测并恢复.
#!/bin/sh
echo "=== Git故障检测 ==="
# ...
python3 -c "
from recovery_assistant import GitRecoveryAssistant
import json
# ...
issues = GitRecoveryAssistant.detect_issue()
if issues:
print('检测到问题:')
for issue in issues:
print(f' - {issue[\"message\"]}')
# ...
plan = GitRecoveryAssistant.get_recovery_plan(issue['scenario'])
if plan:
print(f' 描述: {plan[\"description\"]}')
print(f' 步骤:')
for step in plan['steps']:
print(f' {step}')
# ...
print(f' 尝试自动恢复...')
result = GitRecoveryAssistant.auto_recover(issue['scenario'])
print(f' 结果: {\"成功\" if result[\"success\"] else \"失败\"}')
else:
print('未检测到问题,仓库状态正常')
"
以下场景Git助手专业版不适合处理:
需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于非本工具能力范围的需求.
请对当前Git仓库进行健康诊断,发现问题并提供修复建议.
请分析当前的合并冲突,自动解决可处理的冲突.
如何撤销已推送的提交?
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
version: "2.0"
edition: pro
# ...
conflict_analysis:
enabled: true
auto_resolve: true
safe_mode: true
complexity_threshold: 50
# ...
batch_diagnostics:
enabled: true
repos:
- /path/to/project-a
- /path/to/project-b
schedule: weekly
report_format: json
# ...
auto_recovery:
enabled: true
safe_only: true
create_backup: true
# ...
knowledge_base:
enabled: true
auto_search: true
custom_faq: ./git-faq.yml
# ...
audit:
enabled: true
log_file: ./git-audit.log
log_level: info
include_commands: true
retention_days: 90
0 2 * * 0 python3 batch_diagnostics.py
智能解决:优先使用自动分析处理冲突
安全恢复:恢复前创建备份
知识沉淀:将常见问题添加到知识库
审计追踪:记录所有Git操作用于追溯
专业版完全兼容免费版的所有指引和检查清单。免费版的配置可直接使用,专业版会自动启用智能分析和诊断功能.
自动解决仅处理可安全自动处理的冲突类型(空白差异、导入合并、单方新增),复杂冲突仍需手动处理.
| 仓库数量 | 耗时 | 并行 |
|---|---|---|
| 1-10 | <30s | 串行 |
| 10-50 | 1-3min | 并行 |
| 50-100 | 3-10min | 并行 |
| 100+ | 10min+ | 分批 |
custom_faq:
- question: "如何配置Git代理"
answer: "使用 git config 设置HTTP代理"
command: "git config --global http.proxy http://proxy:8080"
category: "配置"
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Git 2.20+ | 运行时 | 必需 | git-scm.com 下载 |
| Python 3.8+ | 运行时 | 必需 | python.org 下载 |
| Bash | 运行时 | 推荐 | 系统自带 |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
ssh-keygen -t ed25519 -C "your@email.com"
# ...
git config --global credential.helper store
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
输出:返回执行结果,包含操作状态和输出数据
用户: 执行核心功能
Skill: 正在执行核心功能...
Skill: 执行完成,结果如下: 操作成功
{
"success": true,
"data": {
"result": "Git助手专业版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "git helper pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。