介绍
受支持的 Harbour Loop 指南需要一项下载链接更正。开发中已有该修复,同时也包含尚未获批的 Explorer 改版。原来的 main 工作树仍有已暂存的照片计划、进一步的未暂存封面草稿,以及一份未跟踪的私人笔记。
使用第一个引导实验中的工作树方法,为现有维护分支准备干净的工作目录。阅读实际补丁,选出一个自足的修复,再通过 cherry-pick 只重放这一项更改。然后测试可用的旧版下载,并确认改版和未完成工作均未进入发布版本。
本单元初始化自己的仓库和文件,不复用上一台 VM。前置要求是基本的终端/提交/分支/日志/差异技能,加上第一个引导实验讲授的关联工作树和小型文件概念。不需要网站代码或托管账号。请使用 Workspace 和 Release Desk。真实的 Git/HTTP 预览位于一台教学机器上,读取分支提交,而非工作文件编辑。所有路线和身份均为合成内容。40 分钟的时长为作者估计。
识别修复并打开维护工作树
本步骤中,你将查看预期下载,区分独立修复与改版,并在不影响 main 的情况下打开现有旧版分支。
打开 Release Desk,然后点击 Open supported release。核对 Harbour Loop、Pocket Edition 1.0、3.2 km 和 North Pier。使用 Download quick start,从浏览器下载列表打开 quick-start.txt,检查原来的集合地点和简短准备清单。
使用 Download full guide。预期会出现真实的 404 Guide not found 页面,然后点击 Back to release。服务可以连接,但这个版本的链接指向其中不存在的文件。
使用 All releases,然后点击 Open development preview。Explorer Edition 2.0 尚未获批。它的 Download full guide 已经可用:从下载列表打开 harbour-guide-v1.txt,阅读原来的三条指引、North Pier 起点、3.2 km 距离,以及步道/垃圾提醒。应保留这项有用的修复,同时排除改版。使用 All releases 返回。
切换到 Workspace,明确进入原来的工作目录:
cd /home/labex/project/release-desk/editor
遇到普通路径错误时,使用 pwd 和 ls,再重新执行完整的 cd 命令;不要重置 VM。设置仓库本地作者身份。--local 影响此仓库及其关联工作树,而不影响全局配置。引号中的合成示例值可以替换:
git config --local user.name "Guide Editor"
git config --local user.email "guides@example.com"
维护前读取未完成状态:
git branch --show-current
git status --short
git --no-pager diff --cached -- preview.txt
git --no-pager diff -- preview.txt
cat private-note.txt
与第一个实验一样,预期会看到 main、MM preview.txt 和 ?? private-note.txt。第一个差异显示已暂存的新增内容 Plan: add dusk photographs.。第二个显示进一步的未暂存新增内容 Draft: try the violet cover.。保留各自不同的内容和私人笔记。--cached 选择索引与提交的对比;普通 diff 对比工作文件与索引。--no-pager 直接打印输出,-- 分隔后面的路径。
读取开发分支已提交的历史。--oneline 简化每个条目,--decorate 标记指针和标签:
git --no-pager log --oneline --decorate dev-start
固定标签 dev-start 标记接手时 main 的末端提交。从新到旧,准备好的历史依次包含 Plan the Explorer photo collection、Correct the Harbour Loop download link、Introduce the Explorer redesign 和 Prepare the supported Harbour Loop guide。保持该标签和 main 末端不变。
选择之前,先检查最新更改。show 显示选定提交及其补丁:
git --no-pager show dev-start
它更改了 explorer-plan.txt。这是无关的未来工作。修复位于该固定书签之前的一个父提交。~1 选择该父提交,而不改变当前检出状态:
git --no-pager show dev-start~1
其完整补丁只更改一行 full-guide.path:/downloads/harbour-guid-v1.txt 变为 /downloads/harbour-guide-v1.txt。该修复是自足的,不依赖改版。也检查一下更早的改版。~2 从固定书签沿父提交向前追溯两步,选中到达的那个祖先提交:
git --no-pager show dev-start~2
它改变版本标识并加入 Explorer 计划。合并整个开发分支,会在带入有用修复的同时,也带入这些尚未获批的更改。
在 main 旁边打开现有受支持分支。.. 表示父目录,第二个参数明确选择现有分支,而不是从 main 创建新分支:
git worktree add ../supported-v1 release/1.0
git worktree list
cd ../supported-v1
git branch --show-current
git status --short
cat release.txt
预期 Git 原生工作树列表包含两个目录,当前分支为 release/1.0,维护状态干净,版本标识为 Pocket Edition 1.0。它的独立索引为 cherry-pick 提供所需的干净目标,同时 main 草稿留在原处。如果误要求再次添加 main,第一个实验中讲过的“已检出”拒绝不需要 force 或 reset:检查 git worktree list 并使用现有受支持分支。
应用修复并验证旧版保留情况
本步骤中,你将只把选定补丁重放到旧版上,测试真实指南,并确认原来的开发工作完整保留。
留在 Workspace 中,目录为 /home/labex/project/release-desk/supported-v1。cherry-pick 取出选定提交引入的更改,并应用到当前分支,通常会记录为一个新提交。它不会合并选定提交的所有祖先。本场景中,旧分支的父提交与来源修复不同,因此新更正拥有自己的提交 ID。
先读取旧链接,再应用已检查的独立修复。由于仓库对象和引用共享,两个关联工作树都能看到该标签:
cat full-guide.path
git cherry-pick dev-start~1
预期会生成一个以下载链接为主题的新提交,更改一个文件,没有冲突。这个准备好的补丁在受支持基线上更改同一个小设置,不存在依赖链。你的提交 ID 可能不同。
准确审阅维护分支获得了什么。固定标签 supported-start 标记接手时的旧版末端,HEAD 是此工作树的当前提交,diff 对比这些快照:
git --no-pager diff supported-start HEAD
预期只有完整指南路径更正。release.txt、指南内容和原预览文字都不应改变,也不应出现 Explorer 专属文件。检查实际历史和干净的目标状态:
git --no-pager log --oneline --decorate
git status --short
cat release.txt
原始受支持提交之后应直接有一个更正。开发改版和照片计划提交不在此分支的祖先中。信息的确切拼写不是成功标准;独立补丁、正确基线及文件保留才是。
切换到 Release Desk,点击顶部的 Release Desk 返回概览,然后点击 Open supported release。其中必须保留 Pocket Edition 1.0、Harbour Loop、3.2 km 和 North Pier。本地预览读取你刚推进的分支提交;这里没有模拟远程或生产部署。
点击 Download full guide。从浏览器下载列表中打开真实的 harbour-guide-v1.txt。将完整内容与之前阅读的开发版本下载对比:North Pier 起点;途经 Clock Steps、旧船屋和 Anchor Square 的全部三条指引;3.2 km;以及最后关于步道/垃圾的提醒。修复交付的是原受支持指南,而不是新的 Explorer 路线。只有下载链接或成功状态码,无法证明内容完整。
使用 Download quick start,保留其原来的清单。从 All releases 打开开发预览,确认 Explorer Edition 2.0 未改变。使用 All releases 返回。
切换到 Workspace,重新进入 main 的原目录。目录改变后,命令检查的工作树索引也会改变。日志选项 -1 将输出限制为最新提交:
cd /home/labex/project/release-desk/editor
git branch --show-current
git --no-pager log -1 --oneline --decorate
git status --short
git --no-pager diff --cached -- preview.txt
git --no-pager diff -- preview.txt
cat private-note.txt
最新提交必须仍是标有 dev-start 的原照片计划提交。预期会看到 main 原来的 MM preview.txt 和 ?? private-note.txt、相同的已暂存照片计划句、独立的未暂存紫色封面句,以及未改变的私人笔记。不要为了让状态干净而提交或丢弃它们。保持受支持工作树可用。检查点会同时核验关联关系、受支持历史、每个必需文件、真实下载及 main 的保留情况。
总结
你检查了实际的开发补丁,选中独立的链接更正,并在干净的维护工作树中通过 cherry-pick 重放它。旧版获得了一项有用更正,而没有继承改版。
完整指南和快速入门下载仍保持完整,开发分支末端、已暂存和未暂存的草稿版本,以及私人笔记也完整保留。独立挑战将更换受支持分支、指南和修复位置,因此应依据证据选择,而不是照搬偏移量。



