> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify-mintlify-add-hello-world-quickstart-48843.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Git 概念

> 了解面向“文档即代码”工作流的 Git 基础

Git 是一种版本控制系统，可用于跟踪文档的更改并与团队成员协作。借助 Git，您可以查看项目中每个文件的更改内容、时间和原因；如有需要，也能轻松将文件回滚到先前版本。

网页编辑器会在后台执行部分 Git 操作。理解这些概念将帮助您更高效地使用网页编辑器，并与在本地开发环境中工作的团队成员更好地协作。

<div id="core-git-concepts">
  ## 核心 Git 概念
</div>

<AccordionGroup>
  <Accordion title="Repository">
    您的文档源码所在位置，存储所有文件及其历史。网页编辑器会连接到您的仓库以读取和修改内容。
  </Accordion>

  <Accordion title="Commit">
    在特定时间点保存的更改快照。每次提交都包含描述变更的消息，并在项目历史中创建永久记录。
  </Accordion>

  <Accordion title="Branch">
    分支指向仓库中的某个特定提交。您的线上文档由部署分支构建而成。您可以拥有任意数量的其他分支，这些分支上的更改尚未发布到线上文档。若要将某个分支的更改纳入线上文档，可通过拉取请求将该分支合并到部署分支。

    使用分支可以在不影响线上文档的情况下开展工作，安全试验新功能，并在发布前先行评审。
  </Accordion>

  <Accordion title="Deployment branch">
    项目的主要分支，线上文档内容由此构建。对此分支的更改会自动发布到文档站点。通常为 `main`，但您可以将任意分支设为部署分支。
  </Accordion>

  <Accordion title="Pull request">
    提议将某个分支上的更改合并到线上文档的一种方式。支持在更改上线前进行审阅与讨论。通常称为 PR，在 GitLab 中也称为 merge request（合并请求）。
  </Accordion>

  <Accordion title="Diff">
    diff（差异）用于展示文件两个版本之间的改动。在审阅拉取请求时，diff 会突出显示新增、删除或修改的内容，便于识别变更点。
  </Accordion>
</AccordionGroup>

<div id="how-the-web-editor-uses-git">
  ## 网页编辑器如何使用 Git
</div>

网页编辑器通过 [GitHub App](/zh/settings/github) 或 [GitLab 集成](/zh/settings/gitlab) 连接到你的 Git 仓库，并自动执行常见的 Git 操作。

当你：

* **打开文件**：编辑器会从仓库获取最新版本，确保你始终在处理最新内容。
* **进行更改**：编辑器会将更改作为草稿进行跟踪，当你准备保存时可生成一次提交。
* **保存更改**：编辑器会将你的更改提交到仓库，并保存在项目历史中。
* **创建分支**：编辑器会在仓库中创建一个新分支，任何有仓库访问权限的人都可以使用该分支协作并审查更改。
* **在部署分支发布**：编辑器会直接向部署分支提交并推送，更改将立即发布。
* **在其他分支发布**：编辑器会创建一个拉取请求，让你在将更改合并到部署分支之前获取他人反馈。

<div id="git-best-practices">
  ## Git 最佳实践
</div>

每个团队都会形成各自的工作流程和偏好，但以下是一些通用的最佳实践，助你快速上手。

* **撰写清晰的提交信息**：使用主动语态，具体说明更改内容。
* **使用清晰的分支命名**：分支名应能说明当前工作的内容，并便于他人在仓库中理解。
* **保持分支聚焦**：让该分支的更改专注于某个特定任务或项目。
* **合并后删除分支**：在不再需要时删除分支，保持仓库整洁。
