第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Go:如何將 git 修訂版添加到構(gòu)建的二進(jìn)制文件中?

Go:如何將 git 修訂版添加到構(gòu)建的二進(jìn)制文件中?

Go
肥皂起泡泡 2021-06-03 21:50:44
我想將當(dāng)前的 git 修訂號(hào)添加到構(gòu)建的二進(jìn)制文件中,go build以便我可以做一些事情,比如./mybinary --revision查看它是從哪個(gè)修訂版構(gòu)建的(通常用于部署后的故障排除)。顯然,我不能將修訂號(hào)放入源代碼中,因?yàn)檫@會(huì)用新的修訂版本更改源代碼。我想知道是否有其他方法可以做到這一點(diǎn)?或者你認(rèn)為這只是一個(gè)壞主意?如果是這樣,在構(gòu)建的二進(jìn)制文件與其源版本之間建立關(guān)系的推薦方法是什么?對(duì)于分布式版本控制系統(tǒng),版本號(hào)似乎不是一個(gè)好主意。
查看完整描述

3 回答

?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊

如果您可以將 git 修訂版放入 $VERSION 并version在主包中有一個(gè)名為(類型字符串)的變量,則可以在構(gòu)建期間使用以下命令設(shè)置它:


#!/bin/sh

VERSION=`git rev-parse --short HEAD`

go build -ldflags "-X main.version=$VERSION"  myfile.go


查看完整回答
反對(duì) 回復(fù) 2021-06-07
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

我會(huì)用一個(gè)version.go文件創(chuàng)建一個(gè)文件,var version string然后在調(diào)用之前處理它并在調(diào)用go build之后重置它。換句話說,go 不支持任何類型的代碼生成,所以你需要依靠外部的東西來做到這一點(diǎn)。


查看完整回答
反對(duì) 回復(fù) 2021-06-07
?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊

對(duì)于所有和任何版本的 Git 代碼,獲取任何變更集的標(biāo)識(shí)字符串的最明顯方法(而我將在--revision選項(xiàng)上顯示此字符串的任務(wù)留給您)是

  • 使用(至少偶爾)標(biāo)簽

  • git describe(帶有相關(guān)選項(xiàng))在構(gòu)建階段


查看完整回答
反對(duì) 回復(fù) 2021-06-07
  • 3 回答
  • 0 關(guān)注
  • 270 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)