[英]In a Makefile, how can I fetch and assign a git commit hash to a variable?
A 使所有克隆成为git repo。 我想知道提交哈希是什么,并将git commit hash分配给一个变量,该变量稍后可以在Makefile中使用
例如
all: download
echo '$(GIT_COMMIT)'
download:
cd buildarea && git clone git@github.com:proj/project.git
$(eval GIT_COMMIT = $(shell cd buildarea/project && git log -l --pretty=format:"%H"))
echo '$(GIT_COMMIT)'
如何使用shell函数和2个目标呢?
all: download getver
getver: VER=$(shell cd buildarea/project && git log -1 --pretty=format:"%H")
getver:
@echo GIT_COMMIT=$(VER)
download:
mkdir -p buildarea && cd buildarea && git@github.com:proj/project.git
我不知道确切原因,但现在看来,后git clone
$(shell)
是无法cd
到目录中。 你可以做的只是在一个$(shell)
调用中执行整个动作。
all: download
echo '$(GIT_COMMIT)'
download:
$(eval GIT_COMMIT = $(shell git clone git@github.com:proj/project.git buildarea/project && cd buildarea/project && git rev-parse HEAD))
echo '$(GIT_COMMIT)'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.