0

我正在 Linux 源代码树之外(以标准方式)开发一个 Linux 内核模块,并试图自动将驱动程序的 git commit 哈希包含在模块加载期间打印的版本字符串中。Makefile 使用命令计算 git 哈希

DRV_TAG   := $(shell git log -1 --pretty=format:"%h")

但这会获取 Linux 树的 git 哈希,而不是我的驱动程序。您能否告诉 git 在执行命令时查看特定目录,或者是否有更好的方法来解决此问题?

这是使用 git 1.5.4.5 和 Linux 2.6.28

4

2 回答 2

1

是的,您可以使用--git-dir应该设置为适当.git目录的选项。此外,虽然您可以使用git log, 对于您正在做rev-parse的事情(管道命令)可能更合适。

git --git-dir=/driver/root/.git rev-parse HEAD
于 2009-08-31T17:37:01.747 回答
1

git接受一个选项--git-dir,让您指定要查看的存储库。--work-tree如果您也需要查看工作树,还有一个类似的选项。

git --git-dir=/path/to/repo log -1 --pretty=format:"%h"

查看git 手册页以了解这些选项和其他选项的描述。

于 2009-08-31T17:37:17.737 回答