?
This document uses PHP Chinese website manual Release
git-fsck - 驗(yàn)證數(shù)據(jù)庫(kù)中對(duì)象的連通性和有效性
git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs] [--[no-]full] [--strict] [--verbose] [--lost-found] [--[no-]dangling] [--[no-]progress] [--connectivity-only] [--[no-]name-objects] [<object>*]
驗(yàn)證數(shù)據(jù)庫(kù)中對(duì)象的連通性和有效性。
<對(duì)象>
作為不可達(dá)跟蹤頭的對(duì)象。
如果沒(méi)有給定對(duì)象,則git fsck
默認(rèn)使用索引文件,refs
命名空間中的所有SHA-1引用以及所有reflog(除非給出--no-reflogs)作為首部。
--unreachable
打印出存在但不能從任何參考節(jié)點(diǎn)到達(dá)的對(duì)象。
--no-dangling
打印存在但從未directly
使用的對(duì)象(默認(rèn))。--no-dangling
可以用來(lái)從輸出中省略這些信息。
--root
報(bào)告根節(jié)點(diǎn)。
--tags
報(bào)告標(biāo)簽。
--cache
考慮索引中記錄的任何對(duì)象也可作為不可達(dá)性追蹤的頭節(jié)點(diǎn)。
--no-reflogs
不要將僅由reflog中的條目引用的提交視為可訪問(wèn)。此選項(xiàng)僅用于搜索曾經(jīng)在ref中的提交,但現(xiàn)在不是,但仍在相應(yīng)的reflog中。
--full
不僅檢查GIT_OBJECT_DIRECTORY($ GIT_DIR / objects)中的對(duì)象,還檢查在GIT_ALTERNATE_OBJECT_DIRECTORIES或$ GIT_DIR / objects / info / alternates中列出的替代對(duì)象池中發(fā)現(xiàn)的對(duì)象,以及在$ GIT_DIR / objects / pack中找到的打包Git存檔中的對(duì)象以及相應(yīng)的對(duì)象在備用對(duì)象池中打包子目錄。這現(xiàn)在是默認(rèn)的; 你可以用--no-full來(lái)關(guān)閉它。
--connectivity-only
僅檢查標(biāo)簽,提交和樹(shù)對(duì)象的連通性。通過(guò)避免解開(kāi)blob,這會(huì)加快操作速度,但會(huì)損失丟失的對(duì)象或其他有問(wèn)題的問(wèn)題。
--strict
啟用更嚴(yán)格的檢查,即捕獲使用舊版Git創(chuàng)建的g + w位集記錄的文件模式?,F(xiàn)有的存儲(chǔ)庫(kù)(包括Linux內(nèi)核,Git本身和稀疏存儲(chǔ)庫(kù))具有觸發(fā)此檢查的舊對(duì)象,但建議使用此標(biāo)志檢查新項(xiàng)目。
--verbose
閑聊。
--lost-found
將懸掛對(duì)象寫(xiě)入.git / lost-found / commit /或.git / lost-found / other /,具體取決于類型。如果對(duì)象是blob,則將內(nèi)容寫(xiě)入文件中,而不是其對(duì)象名稱。
--name-objects
當(dāng)顯示可訪問(wèn)對(duì)象的名字時(shí),除了SHA-1還顯示一個(gè)描述它們如何到達(dá)的名字,與git-rev-parse [1]兼容,例如HEAD@{1234567890}~25^2:src/
。
--no-progress
當(dāng)連接到終端時(shí),默認(rèn)情況下標(biāo)準(zhǔn)錯(cuò)誤流會(huì)報(bào)告進(jìn)度狀態(tài),除非指定--no-progress或--verbose。 - 即使標(biāo)準(zhǔn)錯(cuò)誤流未指向終端,進(jìn)度也會(huì)強(qiáng)制進(jìn)行狀態(tài)。
git-fsck測(cè)試SHA-1和一般對(duì)象的完整性,并且完全跟蹤由此產(chǎn)生的可達(dá)性和其他一切。它打印出它發(fā)現(xiàn)的任何損壞(丟失或損壞的對(duì)象),并且如果使用該--unreachable
標(biāo)記,它還將打印出存在但不能從任何指定頭節(jié)點(diǎn)(或默認(rèn)設(shè)置,如上所述)到達(dá)的對(duì)象)。
任何損壞的對(duì)象,你必須找到備份或其他檔案(即,你可以刪除它們,并rsync
與其他網(wǎng)站做一個(gè)希望別人有你已經(jīng)損壞的對(duì)象)。
由于缺乏頭部信息,預(yù)計(jì)會(huì)出現(xiàn)懸而未決的承諾 - 潛在負(fù)責(zé)人
您沒(méi)有指定任何節(jié)點(diǎn)作為頭,因此無(wú)法區(qū)分未提交的提交和根節(jié)點(diǎn)。
缺少sha1目錄<dir>
持有sha1對(duì)象的目錄缺失。
無(wú)法訪問(wèn)<type> <object>
<type>對(duì)象<object>實(shí)際上并不直接或間接引用到所看到的任何樹(shù)或提交中。這可能意味著您沒(méi)有指定另一個(gè)根節(jié)點(diǎn),或者該樹(shù)已損壞。如果你沒(méi)有錯(cuò)過(guò)根節(jié)點(diǎn),那么你可能會(huì)刪除無(wú)法訪問(wèn)的節(jié)點(diǎn),因?yàn)樗鼈儾荒鼙皇褂谩?/p>
missing <type> <object>
<type> object <object>被引用,但不存在于數(shù)據(jù)庫(kù)中。
dangling <type> <object>
<type> object <object>存在于數(shù)據(jù)庫(kù)中,但從未directly
使用。一個(gè)懸而未決的提交可能是一個(gè)根節(jié)點(diǎn)。
sha1 mismatch <object>
數(shù)據(jù)庫(kù)中有一個(gè)sha1與數(shù)據(jù)庫(kù)值不匹配的對(duì)象。這表示嚴(yán)重的數(shù)據(jù)完整性問(wèn)題。
GIT_OBJECT_DIRECTORY
用于指定對(duì)象數(shù)據(jù)庫(kù)的根目錄(通常為$ GIT_DIR / objects)
GIT_INDEX_FILE
用于指定索引的索引文件
GIT_ALTERNATE_OBJECT_DIRECTORIES
用于指定其他對(duì)象數(shù)據(jù)庫(kù)根目錄(通常未設(shè)置)