7
Tôi đang sử dụng thẻ git để chèn các phiên bản trong các chương trình đi của tôi, ví dụ: trong một Makefile
:Phiên bản động từ git với go get
VERSION = $(shell git describe --always --dirty)
github_pki: main.go
CGO_ENABLED=0 GOOS=linux \
go build -a \
-ldflags="-X main.version=$(VERSION)" \
-installsuffix cgo -o [email protected] $<
đâu version
được định nghĩa trong main.go
như:
var version = "undefined"
này hoạt động tuyệt vời sử dụng make
, nhưng không phải khi sử dụng go get
hoặc go build
. Có cách nào để thực hiện công việc ldflags
này mà không cần sử dụng hệ thống xây dựng bên ngoài (tức là với go build
/go get
)?
Không theo tài liệu. Tuy nhiên, bạn có thể sử dụng [thuộc tính ident git] (https://git-scm.com/docs/gitattributes#__code_ident_code) để thêm ít nhất git băm của một tệp vào tệp. –