# 同步任务
同步任务是 Git Manage Service 的核心功能,支持在任意 Remote 和分支之间建立自动化同步规则。

# 功能概览

- 灵活规则: 支持任意 Remote 和分支之间的同步
- 定时执行: 内置 Cron 调度器,支持定时自动同步
- Webhook 触发: 支持外部系统触发同步
- 冲突检测: 自动检测并处理同步冲突
- 执行日志: 完整的同步历史和日志记录
# 创建同步任务
# 操作步骤
- 点击左侧导航 "同步任务"
- 点击 "新建任务" 按钮
- 配置同步规则
- 保存并启用

# 配置项说明
| 配置项 | 说明 | 示例 |
|---|---|---|
| 任务名称 | 便于识别的任务别名 | main-to-backup |
| 源仓库 | 选择已注册的仓库 | my-project |
| 源 Remote | 源远程仓库 | origin |
| 源分支 | 源分支名称 | main |
| 目标 Remote | 目标远程仓库 | backup |
| 目标分支 | 目标分支名称 | main |
| Cron 表达式 | 定时执行规则 | */10 * * * * |
| 启用 | 是否启用定时任务 | 是/否 |
# Cron 表达式
使用标准五段式 Cron 表达式:
┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 日期 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 星期 (0 - 6,0 = 周日)
│ │ │ │ │
* * * * *
1
2
3
4
5
6
7
2
3
4
5
6
7
常用示例:
| 表达式 | 说明 |
|---|---|
*/10 * * * * | 每 10 分钟 |
0 */2 * * * | 每 2 小时 |
0 9 * * * | 每天 9:00 |
0 9 * * 1 | 每周一 9:00 |
0 0 1 * * | 每月 1 号 0:00 |
# 执行同步
# 手动执行
在任务列表中点击 "运行" 按钮,立即触发一次同步。
# 定时执行
启用任务后,系统会按照 Cron 表达式自动执行同步。
# Webhook 触发
参见 Webhook 集成,通过 HTTP 请求触发同步。
# 同步模式
# 单分支同步
同步指定的单个分支:
origin/main -> backup/main
1
# 全分支同步
同步所有分支(需要特殊配置):
origin/* -> backup/*
1
# Force Push
在某些场景下需要强制推送:
- 启用: 勾选 "强制推送" 选项
- 风险: 会覆盖目标分支的提交历史
- 建议: 仅在确认无冲突时使用
# 同步状态
# 任务状态
| 状态 | 说明 |
|---|---|
| 待执行 | 任务已创建,等待执行 |
| 执行中 | 正在执行同步操作 |
| 成功 | 同步完成,无冲突 |
| 失败 | 同步失败,查看日志 |
| 冲突 | 存在代码冲突,需手动处理 |
# 查看执行日志
- 点击左侧导航 "审计日志"
- 筛选操作类型为 "sync"
- 点击日志查看详情
日志包含:
- 执行时间
- 同步方向
- 提交范围
- 变更文件列表
- 错误信息(如有)
# 冲突处理
当检测到冲突时:
- 任务状态变为 "冲突"
- 系统发送通知(如已配置)
- 需要手动解决冲突:
- 登录服务器
- 进入仓库目录
- 执行
git status查看冲突文件 - 手动合并代码
- 提交解决冲突
# 任务管理
# 编辑任务
点击 "编辑" 按钮修改任务配置。
# 禁用/启用
切换任务的启用状态,禁用后定时任务不再执行。
# 删除任务
点击 "删除" 按钮移除任务(不影响已执行的同步)。
# 最佳实践
# 同步策略
- 主从同步: 从主仓库同步到备份仓库
- 双向同步: 谨慎使用,可能导致冲突
- 定时同步: 根据团队节奏设置合适的频率
# 安全建议
- 先在测试环境验证同步规则
- 定期检查同步日志
- 配置通知及时发现问题
- 重要操作前先备份
# 下一步
- Webhook 集成 - 通过 API 触发同步
- 通知配置 - 同步结果通知
- 审计日志 - 查看执行历史
← 分支管理 Webhook 集成 →