我正在编写一个Makefile,希望能够将当前分支名称捕获到一个变量中,并传递给--define。由于该脚本有时会在travis上运行,但git存储库可能处于分离状态,因此需要注意这一点。
我可以在命令行上提取分支名称,但不幸的是无法将其捕获到一个变量中。似乎在Makefile环境中,print $$2无法正常工作。
我的当前代码行是:
BRANCH := $(shell git for-each-ref --format='%(objectname) %(refname:short)' refs/heads | awk "/^$$(git rev-parse HEAD)/ {print $$2}")
我理解了
dfd943a57015dbd2129ca7b7033c4e1749f18974 BRANCH_NAME
不仅仅是
BRANCH_NAME
awk "/$(git rev-parse HEAD)/{print \$2}"
- karakfagit rev-parse HEAD
生成的哈希值与任何分支名称都不匹配,那么你希望得到什么结果? - torekBRANCH:= $(shell git symbolic-ref -q --short HEAD)
的方法呢? - MadScientist