?
Ce document utilise Manuel du site Web PHP chinois Libérer
git-upload-archive - 將歸檔發(fā)送回 git-archive
git upload-archive <directory>
通過(guò)Git協(xié)議調(diào)用git archive --remote
并將生成的存檔發(fā)送到另一端。
該命令通常不由最終用戶(hù)直接調(diào)用。該協(xié)議的用戶(hù)界面位于git archive
側(cè)面,程序?qū)χ荚谟糜趶倪h(yuǎn)程存儲(chǔ)庫(kù)獲取存檔。
為了保護(hù)已從歷史記錄中刪除但尚未修剪過(guò)的對(duì)象的隱私,請(qǐng)git-upload-archive
避免提供無(wú)法從存儲(chǔ)庫(kù)引用中訪(fǎng)問(wèn)的提交和樹(shù)的歸檔文件。但是,因?yàn)橛?jì)算對(duì)象可達(dá)性在計(jì)算上很昂貴,所以git-upload-archive
實(shí)現(xiàn)了一組更嚴(yán)格但更易于檢查的規(guī)則:
客戶(hù)可以請(qǐng)求一個(gè)提交或直接指向ref的樹(shù)。例如,git archive --remote=origin v1.0
。
客戶(hù)可以使用ref:path
語(yǔ)法在提交或樹(shù)中請(qǐng)求子樹(shù)。例如,git archive --remote=origin v1.0:Documentation
。
即使最終結(jié)果可達(dá),客戶(hù)端也可以not
使用其他 sha1 表達(dá)式。例如,即使結(jié)果可從 ref 中獲得,也不允許類(lèi)似master^
相對(duì)提交,也不允許使用類(lèi)似abcd1234
文字 sha1 。
請(qǐng)注意,規(guī)則3不允許許多不涉及隱私影響的情況。這些規(guī)則在未來(lái)版本的 git 中可能會(huì)發(fā)生變化,并且訪(fǎng)問(wèn)的服務(wù)器git archive --remote
可能會(huì)或可能不遵循這些準(zhǔn)確的規(guī)則。
如果 config 選項(xiàng)uploadArchive.allowUnreachable
為 true,這些規(guī)則將被忽略,客戶(hù)端可以使用任意 sha1 表達(dá)式。如果您不關(guān)心無(wú)法訪(fǎng)問(wèn)的對(duì)象的隱私,或者您的對(duì)象數(shù)據(jù)庫(kù)已公開(kāi)可通過(guò)非智能 http 訪(fǎng)問(wèn),這非常有用。
<directory>
從中獲取 tar 歸檔的存儲(chǔ)庫(kù)。