繁体   English   中英

在Makefile中,如何获取并为变量分配git commit hash?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM