跳到正文

Git 工作树

使用独立检出目录处理并行任务,并安全回收工作树。

工作树隔离什么

Git 工作树让同一仓库拥有多个检出目录,每个目录可使用自己的分支或 detached HEAD。Lime 可围绕这些目录组织任务;各工作树的文件修改相互独立,共享仓库历史。

工作树不复制系统环境,也不隔离数据库、网络服务或凭据。并行任务仍需约定端口、外部资源和写入责任。

开始一个任务

  1. 确认仓库和起点,检查主目录现有改动。
  2. 创建或选择受管工作树,并说明任务目标。
  3. 运行适用的本地环境初始化。
  4. 在工作树中核对路径与状态,再开始实施。
bash
git worktree list
git status --short
git branch --show-current

分支与 detached HEAD

分支适合需要长期命名和后续推送的改动;detached HEAD 可用于临时探索。无论使用哪种形式,移除目录前都应检查是否有唯一提交或未保存改动。创建工作树不会自动提交或推送代码。

现有聊天与新聊天

可在工作树中开始新任务,也可从既有上下文继续。检查聊天的工作目录与实际检出一致,不让已有终端继续写入旧目录。聊天派生与 Git 分支派生是不同操作。

初始化与依赖

新检出通常需要重新准备依赖。使用已选择的本地环境脚本,保留锁文件和可复现命令。初始化失败时保留目录诊断,不因失败另建一个工作树掩盖根因。

检查和整合结果

  1. 检查当前工作树的差异和新增文件。
  2. 执行任务所需的测试。
  3. 决定通过合并、挑选提交或其他仓库既有流程整合结果。
  4. 在目标分支再次验证集成行为。

将补丁或提交整合回主目录可能冲突。先检查双方状态,不覆盖用户已有改动。

列出与删除

Lime 的工作树管理只操作受管根下登记的检出,不接管任意外部目录。删除会核对状态;不提供强制抹除未保存改动的捷径。清理失败时保留登记和错误,便于在原对象上恢复。

回收前保存重要提交和文件,检查相关聊天与后台进程。移除工作树不会撤销外部服务、数据库或远端分支的副作用。

常见问题

现象处理
目录已存在检查它是否为原任务创建的检出,不重复创建。
分支已被其他工作树占用选择正确目录或另一个允许的分支。
依赖缺失在当前检出运行相应初始化,确认平台脚本。
删除失败检查未提交内容、活动任务和 Git 登记,先解决再清理。