简介
🧑💻 初次接触Git或LabEx?我们建议从 Git快速入门 课程开始。
Git是一个强大的版本控制系统,它允许开发者随时间追踪其代码库的变更。Git最有用的特性之一是能够找到引入错误的提交。在尝试追踪代码中的问题根源时,这会非常有帮助。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
🧑💻 初次接触Git或LabEx?我们建议从 Git快速入门 课程开始。
Git是一个强大的版本控制系统,它允许开发者随时间追踪其代码库的变更。Git最有用的特性之一是能够找到引入错误的提交。在尝试追踪代码中的问题根源时,这会非常有帮助。
你的任务是手动在 git-playground
仓库中找到引入错误的提交。该仓库可在 https://github.com/labex-labs/git-playground
找到。错误是 file2.txt
文件应打印 “This is file2.txt.”,而不是 “This is file2.”。
要完成此实验,你需要使用 git bisect
命令在仓库的提交历史中进行二分查找。你需要将提交标记为 “好”(无错误)或 “坏”(有错误),直到你缩小到引入错误的提交。
cd git-playground
git bisect
进程:git bisect start
git bisect bad HEAD
git bisect good 3050fc0de
Git 将自动为你检出一个新的提交进行测试。5. 如果检出的 file2.txt
文件内容与错误不匹配,将其标记为 “好”:
cat file2.txt
git bisect good
file2.txt
文件内容与错误匹配,将其标记为 “坏”:git bisect bad
git bisect
进程:git bisect reset
现在你可以检查有错误的提交中的代码更改,以找到错误的根源。
这是测试结果:
d22f46ba8c2d4e07d773c5126e9c803933eb5898 是第一个有错误的提交
commit d22f46ba8c2d4e07d773c5126e9c803933eb5898
Author: Hang <[email protected]>
Date: Wed Apr 26 14:16:25 2023 +0800
Added file2.txt
file2.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 file2.txt
在本实验中,你学习了如何使用 git bisect
命令手动在Git仓库中找到引入错误的提交。通过将提交标记为 “好” 或 “坏”,你可以在提交历史中进行二分查找,以快速缩小问题的根源。在调试复杂的代码库时,这种技术会非常有帮助。