---
title: "Import from Git V2：维护 Managed Import 导入"
language: "zh"
url: "https://docs.testany.io/zh/docs/import-from-git-v2-manage-managed-import/"
markdown_url: "https://docs.testany.io/zh/docs/import-from-git-v2-manage-managed-import.md"
translation: "https://docs.testany.io/en/docs/import-from-git-v2-manage-managed-import.md"
last_updated: "2026-03-26T15:39:24+08:00"
---

# Import from Git V2：维护 Managed Import 导入

## 1. Managed Import 到底是什么

`Managed Import` 会把仓库代码放入 Testany 管理的 `Mirror` 中。

在这种模式下：

- Testany 会先把选中的文件导入 Mirror
- 执行时从 Mirror 读取脚本
- 代码是否最新，由 Mirror 的维护动作决定

这和 `Sync Link` 不同。`Sync Link` 在执行时读取的是 Git 源端脚本。

## 2. 先认识详情页结构

进入 `Import History`，打开带有 `MANAGED IMPORT` 标识的记录。

![Managed Import 导入记录详情](https://docs.testany.io/docs/images/zh/import-git-v2-managed-detail-zh.png)

这类详情页通常包含：

- `Basic Info`
- `Mirror Code Status`
- `Pending Relation Changes`
- `Associated Files`
- `GitHub Webhook Sync`
- `Refresh History`
- `Danger Zone`

## 3. 如何理解 Mirror Code Status

`Mirror Code Status` 是这种模式下最核心的维护区域。

它会告诉您：

- 当前 Mirror 状态
- 当前 Mirror commit
- 当前远端最新 commit
- 最后 refresh 时间

常见状态包括：

- `Mirror Healthy`
- `Mirror syncing...`
- `Mirror sync failed`
- `Mirror initializing...`
- `Existing snapshot available, but refresh is not possible`

## 4. Managed Import 在 Track Latest 下怎么工作

当导入记录处于 `Managed Import + Track Latest` 时，Testany **不会自动追**分支最新 commit。

要把 Mirror 推进到新代码，您需要：

- 手动点击 `Sync`
- 或让 GitHub Webhook 自动推进 Mirror

如果 Mirror 已经是最新，`Sync` 按钮会保持不可点击状态。

### 4.1 Sync 到底做了什么

在这个模式下，`Sync` 只负责把 Mirror refresh 到目标 commit。

它**不会**自动：

- 为新增文件创建新的 Test Case
- 替您处理源端删除文件

这些都属于关系层动作，仍然需要单独处理。

## 5. Managed Import 在 Pinned Commit 下怎么工作

当导入记录处于 `Managed Import + Pinned Commit` 时，这条记录会锁定在某一个 commit 上。

详情页会提供：

- `Switch Commit`
- `Switch to Track Latest`

Pinned 模式不支持 Webhook 同步，也不通过 `Sync` 按钮推进代码。

## 6. 关系层变化必须显式处理

`Pending Relation Changes` 在这里和 Sync Link 一样，仍然是显式维护。

### 6.1 Import Added Files

当当前快照发现导入根目录下有新的受支持文件，但它们还没有纳入当前导入记录时，请使用 `Import Added Files`。

这个动作会创建：

- 新的 Test Case
- 新的 binding

### 6.2 Mark Source Deleted

当一个已跟踪文件已经不存在于源端或当前 Mirror 快照中时，请使用 `Mark Source Deleted`。

这个动作会把 binding 标记为 `source_deleted`。

它**不会**自动删除对应的 Test Case。

## 7. GitHub Webhook Sync 怎么理解

在 `Managed Import + Track Latest` 下，Webhook 可以在收到 GitHub push 事件后，自动推进 Mirror。

它和 Sync Link 下的角色不同：

- Sync Link 的 webhook 主要触发同步检查
- Managed Import 的 webhook 可以直接推进 Mirror

但即便如此，Webhook 仍然**不会**自动处理：

- 新增文件
- 源端已删除文件

这些关系层动作仍然要由用户显式确认。

## 8. 查看 Refresh History

使用 `Refresh History` 可以回看过去的 Mirror refresh 记录，用来回答这类问题：

- 某次 refresh 是否已经提交
- 它最后是成功还是失败
- Mirror 上一次是什么时候向前推进的

## 9. 删除 Managed Import 导入记录

在 `Danger Zone` 中删除这条导入记录时，系统会：

- 删除所有关联的 Test Case
- 立即删除对应的 Mirror


> **警告**
>
> Managed Import 的删除影响面比普通记录清理更大，因为它还会一并销毁这条记录对应的 Mirror。

## 本页术语

- [Mirror](https://docs.testany.io/zh/docs/glossary.md#mirror)
- [执行 (Execution)](https://docs.testany.io/zh/docs/glossary.md#execution)
- [测试用例 (Test Case)](https://docs.testany.io/zh/docs/glossary.md#test-case)
- [Sync Link](https://docs.testany.io/zh/docs/glossary.md#sync-link)
- [Managed Import](https://docs.testany.io/zh/docs/glossary.md#managed-import)
- [源端已删除 (source_deleted)](https://docs.testany.io/zh/docs/glossary.md#source-deleted)
- [用户 (User)](https://docs.testany.io/zh/docs/glossary.md#user)
