亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為Git存儲庫啟用ident字符串?

如何為Git存儲庫啟用ident字符串?

Git
慕慕森 2019-08-13 14:32:22
如何為Git存儲庫啟用ident字符串?如何啟用ident $Id$Git存儲庫中的文件?
查看完整描述

3 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

簡介:在產品中嵌入版本信息的推薦方法是使用構建系統 ; 請參閱下面的詳細信息和替代方法。


在Git中(我認為通常也在其他具有原子提交的VCS系統中)沒有像單個文件的版本那樣的東西。

Git確實支持$Id:$關鍵字的按需擴展,但是:

  1. 在要求時完成。您必須指定(可能使用globbing模式)文件(或一組文件)具有ident 屬性集(在樹中的'.gitattributes'文件中,或在'.git / info / attributes'中用于本地存儲庫設置)。

  2. 它擴展到文件內容的SHA-1(或更準確地說$Id:<sha-1 of blob>$)。這種選擇的原因是Git不會觸摸在分支切換或倒帶期間沒有改變的文件; 如果'$ Id:$'擴展到修訂信息,則需要更新每個版本控制的文件,例如在切換分支時。

Git支持相當多的$Format:...$占位符,這些占位符擴展為提交信息(例如,$Format:%H$由提交哈希替換)但是:

  1. 只有在輸出文件中運行git archive才會進行擴展。

  2. 它是根據請求完成的,通過export-subst屬性控制。

嵌入版本信息的推薦方法是通過構建系統(在構建階段)進行; 例如,參見Git web文件界面中Makefile使用的Git MakefileGIT-VERSION-GEN腳本,用于git.git存儲庫。

但是,您可以(ab)使用干凈/涂抹過濾器驅動程序(via filter屬性)來獲得類似CVS的關鍵字擴展,在結帳時擴展關鍵字,并在將內容輸入存儲庫時清除它們。


查看完整回答
反對 回復 2019-08-13
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

您可以通過ident.gitattributes文件中添加您希望此功能所遵循的文件的模式來執行此操作。這將在結帳時將$ Id $替換為$ Id:<40位SHA> $。請注意,它不會像CVS / SVN那樣為您提供文件的修訂號。

例:

$ echo '*.txt ident' >> .gitattributes$ echo '$Id$' > test.txt$ git commit -a -m "test"$ rm test.txt$ git checkout -- test.txt$ cat test.txt

鏈接到gitattributes(5)手冊頁


查看完整回答
反對 回復 2019-08-13
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

Git的ident不會執行$ Id $在其他版本控制系統中的功能。作為kludge,使用RCS和git:RCS進行單個文件修訂,并使用git來檢查項目整體。正如我所說,這是一個kludge,但它確實有意義(有時為某些事情)。


查看完整回答
反對 回復 2019-08-13
  • 3 回答
  • 0 關注
  • 592 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號