gpt4 book ai didi

linux - 如何正确地从 Linux 内核 git 树中挑选有问题的提交

转载 作者:太空狗 更新时间:2023-10-29 11:07:12 24 4
gpt4 key购买 nike

背景

我的设备从 Linux 内核版本 4.12 及更高版本开始无法正常工作。我想找出导致问题的具体提交。我目前的流程是:

  1. here 查看 linux 内核提交日志
  2. 单击单个提交,复制提交 ID
  3. 运行 git checkout <commit id>
  4. 重新配置内核 make menuconfig , 并重新编译 make -j32
  5. 在我的设备上安装内核,确认问题是否仍然存在
  6. 如果不是,缩小提交范围,返回步骤1

问题

当我经历这个繁琐的过程时,我发现编译的内核版本不同(您也可以通过阅读 Makefile 来查看)。 但是,我没有通过 linux 内核提交日志看到版本更改。 事实上,在尝试 git diff <first commit id> <second commit id> 之后,其中第二个commit id比第一个commit落后1个commit,根据步骤1中的linux kernel commit log,发现有网站上没有体现的变化。

问题

为什么会这样?我应该如何正确找出导致我的设备出现问题的具体提交?

最佳答案

为了正确找出是哪个提交导致您的设备出现问题,您应该使用 git bisect。它使您一直手动执行的工作流程自动化。请参阅文档 here .

This command uses a binary search algorithm to find which commit in your project’s history introduced a bug. You use it by first telling it a "bad" commit that is known to contain the bug, and a "good" commit that is known to be before the bug was introduced. Then git bisect picks a commit between those two endpoints and asks you whether the selected commit is "good" or "bad". It continues narrowing down the range until it finds the exact commit that introduced the change.

关于linux - 如何正确地从 Linux 内核 git 树中挑选有问题的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46495135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com