跳至内容
GitTree

课程 17 · 日常工作

跟踪文件的历史记录和行作者

将 README 审核行归因于 Maya,将页脚提醒归因于 Leo,使用文件历史记录和责任,而不将作者身份视为代码批准。

进度已保存在此浏览器中。

播放时会加载来自 YouTube 的视频(隐私增强模式)。

英文旁白 · English and Arabic 字幕

打开视频页面在 YouTube 上观看

你将学到什么

  • 将文件历史记录与当前行属性分开。
  • 独立阅读作者和提交者。
  • 检查早期的责任而不检查提交。
  • 将归属证据与安全信任分开。

开始之前

从第 15 课结束的地方开始:main 带有忽略提交、clean; README.md 仍然是原始的 README,index.html 包含第 11 课中 Leo 的页脚。已发布的功能和 v0.1.0 标签保持不变。

该视频是在 Ubuntu 24.04 上使用 Git 2.52.0 和 GitTree 2.0 录制的:README.md 保存在应用程序中,Maya 的提交是作为队友准备本地进行的,历史记录和责备视图在应用程序中打开;之前的状态和指责读回在终端中运行。 macOS 或 Windows 上没有运行任何内容,并且 Ubuntu 是唯一记录的 Linux 系统。 GitTree 的源 Git 版本是 2.39.0。

GitTree 要求您登录;免费计划涵盖了这里的每一步。不需要提供商帐户、专业版/试用版、API 凭证或互联网服务。本地裸源不是 GitLab 或 CI。所有身份均使用 example.com;切勿在源代码检查中运行本课程。

通过 GitTree 或本地路径以相同的输入进行突变,而不是连续进行。只读验证可以遵循其中任何一个。任何被描述为终端工作的准备工作都被标记为本机准备,而不是发明的应用程序功能。

概念和状态效应

文件历史记录列出了按路径/历史规则选择的提交; Blame 将当前行归因于在所选选项下最后引入它们的提交。两者都没有对谁设计了某个功能进行完整的社会解释。

作者和提交者可能不同。这个装置故意在她的承诺中使用相同的虚构玛雅身份,在他的承诺中使用里奥的身份。姓名/电子邮件是元数据,而不是所有权证明或可信代码。

忽略空格和跟随移动的行可以更改归因答案,而无需更改文件字节或历史记录。从选定的受指责的提交后退一步,检查其前身;选择不是结账。

显式 README 提交仅推进 main。随后的历史记录/指责选择和切换会更改应用程序视图状态;没有发生索引、工作、本地分支或服务器突变。

准备准确的项目状态

在原始主文件上保存完整的 README_MAYA 下面。本机准备仅将 git -c user.name/user.email 用于此一次提交,而不是全局配置或误导性的仅限作者的覆盖。捕获实际生成的元数据。

完整的文件输入

仅在下面指定的阶段保存。这些是完整的 UTF-8/LF 正文,最后有换行符;永远不要粘贴 Markdown 栅栏。未更改的可运行文件继承命名输入。单独变体中的版本不得覆盖原始版本。

自述文件.md — README_MAYA

输出
# GitTree Features

A fictional landing page used to learn Git and GitTree.

All people and addresses in this repository are fictional.
No form submits information to a server.

Review changes deliberately and preserve useful work.

在GitTree

调色板:Command+Shift+P(在 Ubuntu 上为 Ctrl+Shift+P);输入确切命名的命令并选择它。命名引用操作使用该行的上下文菜单,而不是无参数的调色板快捷方式。

  1. 显示文件;打开 README.md 并保存完整的 README_MAYA。查看添加的审核行。
  2. 使用下面明确的虚构身份本地提交添加;标记此队友准备。不要声称该应用程序重写了现有作者。
  3. 通过“显示文件”打开 README.md,然后打开 README.md,文件视图有四个选项卡:File、Changes、Blame 和 History。选择 History:它仅列出此文件的提交,Maya 位于顶部。选择 Maya 的提交。
  4. 检查路径差异和元数据;使用历史列表 ArrowUp/ArrowDown 可以检查另一个修订版本而无需签出。
  5. 在 README.md 上选择 Blame。标头读取“Blame @”一个简短的提交 ID,并且各行按提交分组;单击添加的行。期待 Maya 的实际主体和身份,而不是发明的固定 SHA。
  6. 打开index.html并选择Blame;独立检查页脚行的狮子座归属。
  7. Ignore whitespace changes 和 Follow moved lines 是 Blame 视图的显示选项。单击提交的组,选择 Blame before this commit 以查看原来的指责,然后选择 Back to the later blame。
  8. Back to Graph; Jump to HEAD(在 Ubuntu 上按 Ctrl+Shift+H)。检查后确认原始主干和未改变的实际尖端是否清洁。

对于每个普通提交:Summary 是规定的主题;描述为空;修改先前的提交、跳过挂钩、添加签署者、不同的作者、提交后推送以及允许空提交;没有共同作者。仅暂存指定的文件,然后将更改提交到 N 个文件一次(文件为一个),或者使用 Command+Enter 作为替代方案。等待真正的结果。明确修改的课程仅更改所述选项。

在航站楼

保存 README_MAYA 后:

Command · bash
git add -- README.md
git -c user.name="Maya Chen" -c user.email=maya@example.com commit --quiet -m "docs: explain deliberate review"
git log -1 --format='%an <%ae>%n%cn <%ce>' -- README.md
git blame --line-porcelain -- README.md
git blame --line-porcelain -- index.html
git status --short

提交成功。实际作者查询包括:

输出
Maya Chen <maya@example.com>
Maya Chen <maya@example.com>

完整的指责输出包括实际变量 SHA/时间和每行记录。对于新的 README 行,经过验证的记录字段包括作者 Maya Chen、作者邮件 <maya@example.com>、摘要文档:解释有意审查,然后是制表符前缀的审阅有意更改并保留有用的工作。页脚记录标识了 Leo Okafor 和他的提醒提交;这必须根据实际的树来衡量,而不是为每个 HTML 行发明一个统一的作者。最终状态为空。

只读替代方案:

Command · bash
git log --follow --format='%s' -- README.md
git blame -w -- README.md
git blame -M -- README.md

这些选项回答不同的归因问题;输出布局是特定于 Git 版本的,并且被捕获,而不是被瓷田摘录所取代。

结果

Where you end: Maya 的一项自述文件添加内容已作为文档提交:解释对 main 的有意审查。将新行归咎于玛雅,将页脚归咎于利奥;检查使 HEAD/index/work 干净且未更改。

常见错误

  • 将责备称为可责性分数。
  • 假设作者始终等于提交者。
  • 检查提交只是为了检查其行。

如果出现问题

清除视图选项或返回到稍后的指责/跳转到 HEAD。导航无需重置。如果归属不同,请在编辑历史记录之前检查实际路径、修订版本和空白/移动设置。

检查你的理解情况

回答每个问题,然后阅读原因。标记为“必填”的问题将有助于完成本课程。

  1. 第 1 题,共 6 题

    责备回答什么?

    选择一个答案。

  2. 第 2 题,共 6 题

    哪些区别很重要?

    选择每个适用的答案。

  3. 第 3 题,共 6 题
    必填

    选择旧文件修订版:HEAD?

    选择一个答案。

  4. 第 4 题,共 6 题
    必填

    更改查询以忽略空格:字节?

    选择一个答案。

  5. 第 5 题,共 6 题

    不同的责备结果:首先检查?

    选择一个答案。

  6. 第 6 题,共 6 题
    必填

    用什么来证明结果呢?

    选择每个适用的答案。

0 个(共 6 个)正确

正确回答所需的问题以完成课程。

在此浏览器中检查。

练习

使用实际的线瓷记录证明 README 审查行属于 Maya,页脚属于 Leo。在单独的只读查询中切换 -w 并解释为什么此处未更改的属性并不能证明该选项永远不重要。

您自己的确认:该网站无法看到您的计算机。

要完成本课程,请正确回答所需的问题并确认实践练习。

回顾

  • 历史和指责回答了不同的问题。
  • 元数据不是信任。
  • 检查不移动HEAD。

术语表介绍

责备——文件历史记录 — ¡¡¡¡¡¡作者 — বালা;提交者 — ?????

视频文字记录

视频的旁白,逐条提示。

显示成绩单
  1. 从确切的检查点开始。
  2. 命名分支、索引 和工作版本。
  3. 仅准备单独的课程副本。
  4. 保存完整的审核文档。
  5. 记录虚构 明确队友身份。
  6. 文件历史记录遵循所选路径。
  7. 检查元数据,无需 检查提交。
  8. 读取添加行的实际归属。
  9. 单独检查 Leo 的页脚。
  10. 查看选项可以更改 归因问题。
  11. 返回而不改变分支。
  12. 责备回答什么?
  13. 归因是一段历史 询问,而不是社会判断。
  14. 哪些区别很重要?
  15. 元数据和查询的版本 确定所显示的证据。
  16. 选择旧文件修订版:HEAD?
  17. 检查选择查看,而不是结账。
  18. 更改查询以忽略空格:字节?
  19. 该选项更改归因 计算,不存储内容。
  20. 不同的责备结果:首先检查?
  21. 不同的查询输入可以合法地 产生不同的归因。
  22. 用什么来证明结果呢?
  23. 检查线路证据并 独立存储库状态。
  24. 验证实际结果, 不仅仅是一条消息。
  25. 在行动之前预测改变的输入。
  26. 在恢复之前保留有用的工作。
  27. 在继续之前证明检查点。
  28. 保留验证结果 以便下一步。