N8N中文教程
使用 n8n/Enterprise_features/Source_control_and_environments/Understand

Git 与 n8n#

n8n 使用 Git 来提供源代码控制(source control)。要使用此功能,了解一些基本的 Git 概念会有所帮助。但请注意,n8n 并未实现全部 Git 功能:你不应将 n8n 的源代码控制视为完整的版本控制系统。

刚接触 Git 和源代码控制? 如果你是 Git 新手,不必惊慌。你不需要完全掌握 Git 才能使用 n8n。本文档会解释你需要了解的基本概念。不过,在设置源代码控制时,你需要具备一定的 Git 知识,因为这涉及到在你的 Git 服务提供商平台上的操作。

熟悉 Git 和源代码控制? 如果你已经熟悉 Git,请注意其行为可能并不完全一致。特别是,n8n 内部的源代码控制不支持拉取请求(pull request)式的审查和合并流程,除非你在 n8n 外部、通过你的 Git 服务商来完成这一过程。

本页面介绍了 n8n 中使用的 Git 概念和术语。它并未涵盖设置和管理仓库所需的全部内容。执行 设置 的人员应具备一定的 Git 基础知识,并熟悉所用的 Git 托管服务提供商。

这是一个简要介绍 Git 是一个复杂的主题。本节仅对在 n8n 中使用环境时所需的关键术语进行简要说明。如果你想深入学习 Git,请参考 GitHub | Git 与 GitHub 学习资源。

Git 概述#

Git 是一种用于管理、跟踪和协作处理文档多个版本的工具。它是 GitHub 和 GitLab 等广泛使用平台的基础。

分支:项目的多个副本#

Git 使用分支(branch)来并行维护文档的多个副本。每个分支都有自己的版本。常见的模式是拥有一个主分支(main branch),然后所有希望为项目做贡献的人都在各自的分支(即副本)上工作。当他们完成工作后,将其分支合并回主分支。

示意图

本地与远程:在本地机器和 Git 服务商之间传输工作#

使用 Git 的常见模式是在本地计算机上安装 Git,并使用 GitHub 等 Git 服务商在云端协作。实际上,你在 GitHub 上有一个 Git 仓库(项目),并在本地机器上操作它的副本。

n8n 在源代码控制中也采用这种模式:你会在 n8n 实例中编辑工作流,然后将其发送到你的 Git 服务商进行存储。

推送(Push)、拉取(Pull)和提交(Commit)#

n8n 使用三个关键的 Git 流程:

  • 推送(Push):将工作从你的实例发送到 Git。这会将你的工作流、标签以及凭据(credential)和变量存根(variable stubs)保存到 Git 中。你可以选择要保存哪些工作流。
  • 拉取(Pull):从 Git 获取工作流、标签和变量,并加载到 n8n 中。你需要手动填充刷新内容中包含的任何凭据或变量存根。

拉取会覆盖你的本地更改

如果你已在 n8n 中修改了某个工作流,则必须先将更改推送到 Git,再执行拉取操作。否则,当你执行拉取时,Git 中不存在的本地更改将会被覆盖。

  • 提交(Commit):在 n8n 中,“提交”指的是向 Git 推送一次工作的具体事件。在 n8n 中,提交(commit)和推送(push)是同时发生的。

请参考 推送与拉取 了解 n8n 如何与 Git 进行交互的详细信息。