亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Guides gitattributes giteveryday gitglossary gitignore gitmodules gitrevisions gittutorial gitworkflows Administration git archive git bundle git clean git filter-branch git fsck git gc git instaweb git reflog Basic Snapshotting git add git commit git diff git mv git reset git rm git status Branching and Merging git branch git checkout git log git merge git mergetool git stash git tag Debugging git bisect git blame git grep Email git am git format-patch git request-pull git send-email External Systems git fast-import git svn Getting and Creating Projects git clone git init Git git annotate git archimport git bisect-lk2009 git check-attr git check-mailmap git check-ref-format git checkout-index git cherry git citool git column git credential git credential-cache git credential-store git cvsexportcommit git cvsimport git cvsserver git diff-files git diff-tree git difftool git fast-export git fetch-pack git fmt-merge-msg git get-tar-commit-id git gui git http-backend git http-fetch git http-push git imap-send git index-pack git interpret-trailers git ls-remote git ls-tree git mailinfo git mailsplit git merge-file git merge-index git merge-one-file git merge-tree git mktag git mktree git name-rev git notes git p4 git pack-objects git pack-redundant git pack-refs git parse-remote git patch-id git prune git prune-packed git quiltimport git receive-pack git remote-ext git remote-fd git remote-testgit git repack git replace git rerere git send-pack git sh-i18n git sh-setup git shell git show-branch git show-index git stripspace git unpack-file git unpack-objects git upload-archive git upload-pack git var git verify-commit git verify-tag git whatchanged git worktree Inspection and Comparison git describe git shortlog git show Miscellaneous api credentials api index gitcli gitcore tutorial gitcredentials gitcvs migration gitdiffcore githooks gitk gitnamespaces gitremote helpers gitrepository layout gitsubmodules gittutorial 2 gitweb gitweb.conf pack format User Manual Patching git apply git cherry-pick git rebase git revert Plumbing Commands git cat-file git check-ignore git commit-tree git count-objects git diff-index git for-each-ref git hash-object git ls-files git merge-base git read-tree git rev-list git rev-parse git show-ref git symbolic-ref git update-index git update-ref git verify-pack git write-tree Server Admin git daemon git update-server-info Setup and Config git git config git help Sharing and Updating Projects git fetch git pull git push git remote git submodule
characters

命名

gitrepository-layout - Git Repository Layout

概要

$GIT_DIR/*

描述

一個(gè) Git 倉(cāng)庫(kù)有兩種不同的風(fēng)格:

  • 一個(gè).git目錄在工作樹(shù)的根;

  • 一個(gè)<project>.gitbare存儲(chǔ)庫(kù)的目錄(即沒(méi)有自己的工作樹(shù)),通常用于與其他人交換歷史記錄,方法是將其推入并從中取回。

注意:您也可以在工作樹(shù)的根目錄中有一個(gè)純文本文件.git,其中包含gitdir: <path>指向具有存儲(chǔ)庫(kù)的實(shí)際目錄。此機(jī)制通常用于子模塊簽出的工作樹(shù),以允許您在包含超級(jí)項(xiàng)目的情況下訪問(wèn)git checkout沒(méi)有子模塊的分支。將checkout有權(quán)刪除整個(gè)子模塊工作樹(shù),又不失子模塊庫(kù)。

這些東西可能存在于 Git 倉(cāng)庫(kù)中。

objects

與此存儲(chǔ)庫(kù)關(guān)聯(lián)的對(duì)象存儲(chǔ)。通常一個(gè)對(duì)象存儲(chǔ)是自給自足的(即,在其中找到的對(duì)象所引用的所有對(duì)象也可以在其中找到),但有幾種方法可以違反它。

1. 通過(guò)創(chuàng)建淺度克隆,您可以擁有一個(gè)不完整但本地可用的存儲(chǔ)庫(kù)。參見(jiàn) git-clone [1] 。

2. 您可以使用objects/info/alternates$GIT_ALTERNATE_OBJECT_DIRECTORIES機(jī)制來(lái)borrow從其他對(duì)象存儲(chǔ)的對(duì)象。具有這種不完整對(duì)象存儲(chǔ)庫(kù)的存儲(chǔ)庫(kù)不適合被發(fā)布以用于啞輸送,但是只要objects/info/alternates對(duì)象所存儲(chǔ)的點(diǎn)存儲(chǔ)于其中,則其他就可以。

如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / objects” ,則該目錄將被忽略。

objects/0-9a-f

新創(chuàng)建的對(duì)象存儲(chǔ)在其自己的文件中。這些對(duì)象使用 sha1 對(duì)象名稱的前兩個(gè)字符顯示在256個(gè)子目錄中,以將目錄條目objects本身的數(shù)量保持為可管理的數(shù)量。在這里找到的對(duì)象通常被稱為unpacked(或loose)對(duì)象。

objects/pack

打包(在壓縮格式中存儲(chǔ)多個(gè)對(duì)象的文件以及允許它們隨機(jī)訪問(wèn)的索引文件)可在此目錄中找到。

objects/info

有關(guān)對(duì)象存儲(chǔ)的其他信息記錄在此目錄中。

objects/info/packs

這個(gè)文件是為了幫助笨拙的傳輸發(fā)現(xiàn)在這個(gè)對(duì)象存儲(chǔ)中可用的包。無(wú)論何時(shí)添加或刪除包,git update-server-info都應(yīng)該運(yùn)行以保持該文件最新,如果存儲(chǔ)庫(kù)針對(duì)啞傳輸發(fā)布的話。git repack這是默認(rèn)情況下。

objects/info/alternates

此文件記錄此對(duì)象存儲(chǔ)借用對(duì)象的備用對(duì)象存儲(chǔ)的路徑,每行一個(gè)路徑名。請(qǐng)注意,不僅本地 Git 工具在本地使用它,而且 HTTP fetcher 也會(huì)嘗試遠(yuǎn)程使用它; 如果在替代文件中有相對(duì)路徑(相對(duì)于對(duì)象數(shù)據(jù)庫(kù),而不是存儲(chǔ)庫(kù)?。?,這通常會(huì)起作用,但如果使用絕對(duì)路徑,它將不起作用,除非文件系統(tǒng)和 Web URL 中的絕對(duì)路徑相同。另見(jiàn)objects/info/http-alternates。

objects/info/http-alternates

該文件將 URL 記錄到此對(duì)象存儲(chǔ)借用對(duì)象的備用對(duì)象存儲(chǔ)中,以便在通過(guò) HTTP 獲取存儲(chǔ)庫(kù)時(shí)使用。

refs

引用存儲(chǔ)在此目錄的子目錄中。該git prune命令知道保留可從此目錄及其子目錄中找到的引用可訪問(wèn)的對(duì)象。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / refs” ,則該目錄將被忽略。

refs/heads/name

記錄樹(shù)枝的樹(shù)枝提交對(duì)象 name

refs/tags/name

記錄任何對(duì)象名稱(不一定是提交對(duì)象,或指向提交對(duì)象的標(biāo)記對(duì)象)。

refs/remotes/name

記錄從遠(yuǎn)程存儲(chǔ)庫(kù)復(fù)制的分支的樹(shù)形提交對(duì)象。

refs/replace/<obj-sha1>

記錄替換對(duì)象的 SHA-1 <obj-sha1>。這與 info / grafts 類似,并且由 git-replace [1] 在內(nèi)部使用和維護(hù)。這些參考文獻(xiàn)可以在庫(kù)之間進(jìn)行交換,而移植不是。

packed-refs

記錄與 refs / heads /,refs / tags / 相同的信息,并以更高效的方式記錄朋友。參見(jiàn) git-pack-refs [1] 。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / packed-refs” ,那么該文件將被忽略。

HEAD

refs/heads/描述當(dāng)前活動(dòng)分支的命名空間的 symref(參見(jiàn)詞匯表)。如果存儲(chǔ)庫(kù)不與任何工作樹(shù)(即bare存儲(chǔ)庫(kù))相關(guān)聯(lián),這并沒(méi)有多大意義,但有效的 Git 存儲(chǔ)庫(kù)必須具有 HEAD 文件; 一些瓷器可能會(huì)用它來(lái)猜測(cè)儲(chǔ)存庫(kù)的指定“默認(rèn)”分支(通常master)。如果指定的分支name尚未(尚未)存在,則是合法的。在一些傳統(tǒng)設(shè)置中,它是一個(gè)符號(hào)鏈接,而不是指向當(dāng)前分支的 symref 。

HEAD 還可以直接記錄特定的提交,而不是作為 symref 指向當(dāng)前分支。detached HEAD.有關(guān)詳細(xì)信息,此類狀態(tài)通常稱為參閱 git-checkout [1] 。

config

存儲(chǔ)庫(kù)特定的配置文件。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / config” ,則忽略此文件。

branches

存儲(chǔ)用于指定 URL 的簡(jiǎn)寫(xiě)方式git fetch,git pull以及git push。一個(gè)文件可以存儲(chǔ)為branches/<name>,然后name可以給這些命令代替repository參數(shù)。有關(guān)詳細(xì)信息,請(qǐng)參閱 git-fetch [1] 中的 REMOTES 部分。這種機(jī)制是傳統(tǒng)的,不太可能在現(xiàn)代倉(cāng)庫(kù)中找到。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / branches” ,則該目錄將被忽略。

hooks

鉤子是各種 Git 命令使用的定制腳本。git init運(yùn)行時(shí)會(huì)安裝一些示例掛鉤,但默認(rèn)情況下它們都被禁用。要啟用,.sample后綴必須通過(guò)重命名從文件名中刪除。閱讀 githooks [5] 了解每個(gè)鉤子的更多細(xì)節(jié)。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / hooks” ,則該目錄將被忽略。

index

存儲(chǔ)庫(kù)的當(dāng)前索引文件。它通常在空倉(cāng)庫(kù)中找不到。

sharedindex.<SHA-1>

共享索引部分,由 $ GIT_DIR / index 和其他臨時(shí)索引文件引用。僅在分割索引模式下有效。

info

有關(guān)存儲(chǔ)庫(kù)的其他信息記錄在此目錄中。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / info” ,則該目錄將被忽略。

info/refs

這個(gè)文件有助于常用的傳輸發(fā)現(xiàn)這個(gè)倉(cāng)庫(kù)中可用的參考文獻(xiàn)。如果存儲(chǔ)庫(kù)針對(duì)啞傳輸發(fā)布,則git update-server-info每次創(chuàng)建或修改標(biāo)簽或分支時(shí)都應(yīng)該重新生成該文件。這通常是從hooks/update掛鉤中完成的,掛鉤git-receive-pack在您git push進(jìn)入存儲(chǔ)庫(kù)時(shí)由命令運(yùn)行。

info/grafts

這個(gè)文件記錄假提交上代信息,假裝一個(gè)提交具有不同于提交實(shí)際創(chuàng)建的父集。每行一條記錄通過(guò)列出由空格分隔并以換行符結(jié)尾的40字節(jié)十六進(jìn)制對(duì)象名稱來(lái)描述提交及其假父代。

請(qǐng)注意,移植機(jī)制已過(guò)時(shí),并可能導(dǎo)致在庫(kù)之間傳輸對(duì)象時(shí)出現(xiàn)問(wèn)題; 請(qǐng)參閱 git-replace [1] 以獲得更靈活和更強(qiáng)大的系統(tǒng)來(lái)完成同樣的任務(wù)。

info/exclude

該文件按照 Porcelains 中的慣例存儲(chǔ)排除模式列表。.gitignore是每個(gè)目錄的忽略文件。git statusgit add,git rm并且git clean看著它,但核心的 Git 命令不看它。另見(jiàn):gitignore [5]。

info/sparse-checkout

該文件存儲(chǔ)稀疏切換分支模式。另請(qǐng)參閱:git-read-tree [1]。

remotes

商店簡(jiǎn)寫(xiě)為使用通過(guò)遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行交互時(shí),URL 和默認(rèn) refnames git fetchgit pullgit push命令。有關(guān)詳細(xì)信息,請(qǐng)參閱 git-fetch [1] 中的 REMOTES 部分。這種機(jī)制是傳統(tǒng)的,不太可能在現(xiàn)代倉(cāng)庫(kù)中找到。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / remotes” ,則該目錄將被忽略。

logs

對(duì) ref 進(jìn)行的更改記錄存儲(chǔ)在此目錄中。有關(guān)更多信息,請(qǐng)參閱 git-update-ref [1] 。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / logs” ,則該目錄將被忽略。

logs/refs/heads/name

記錄對(duì)分支提示進(jìn)行的所有更改name。

logs/refs/tags/name

記錄對(duì)名為name的標(biāo)簽所做的所有更改。

shallow

這與info/grafts淺層克隆機(jī)制類似,但在內(nèi)部使用和維護(hù)。請(qǐng)參閱--depth git-clone [1] 和 git-fetch [1] 的選項(xiàng)。如果設(shè)置了 $ GIT_COMMON_DIR 并且將使用 “$ GIT_COMMON_DIR / shallow” ,則該文件將被忽略。

commondir

如果此文件存在,$ GIT_COMMON_DIR(請(qǐng)參閱 git [1] )將被設(shè)置為此文件中指定的路徑(如果未明確設(shè)置)。如果指定的路徑是相對(duì)的,則相對(duì)于 $ GIT_DIR 。如果沒(méi)有 “commondir” 指向的存儲(chǔ)庫(kù),commondir 存儲(chǔ)庫(kù)是不完整的。

modules

包含子模塊的 git-repository 。

worktrees

包含鏈接工作樹(shù)的管理數(shù)據(jù)。每個(gè)子目錄都包含鏈接工作樹(shù)的工作樹(shù)相關(guān)部分。如果設(shè)置了 $ GIT_COMMON_DIR ,則該目錄將被忽略,在這種情況下,將使用 “$ GIT_COMMON_DIR / worktrees” 。

worktrees/<id>/gitdir

包含指向此處的 .git 文件的絕對(duì)路徑的文本文件。這用于檢查鏈接的存儲(chǔ)庫(kù)是否已被手動(dòng)刪除,并且不需要保留該目錄。每次訪問(wèn)鏈接存儲(chǔ)庫(kù)時(shí)都應(yīng)更新此文件的 mtime 。

worktrees/<id>/locked

如果此文件存在,則鏈接的工作樹(shù)可能位于便攜式設(shè)備上并且不可用。這個(gè)文件的存在防止worktrees/<id>被自動(dòng)或手動(dòng)修剪git worktree prune。該文件可能包含一個(gè)字符串,解釋存儲(chǔ)庫(kù)被鎖定的原因。

worktrees/<id>/link

如果此文件存在,則它是到鏈接的 .git 文件的硬鏈接。它用于檢測(cè)是否手動(dòng)刪除鏈接的存儲(chǔ)庫(kù)。

Previous article: Next article: