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