Git目錄 工作目錄 索引

2021-10-19 14:01:17 字數 1832 閱讀 3951

git目錄一般就是指專案根目錄下的』.git』目錄,是為你的專案儲存所有歷史和元資訊的目錄。

包括所有的物件(commits,trees,blobs,tags), 這些物件指向不同的分支.

每乙個專案只能有乙個git目錄(這和svn,cvs的每個子目錄中都有此類目錄相反),這個叫.git的目錄在你專案的根目錄下(這是預設設定,但並不是必須的). 如果你檢視這個目錄的內容, 你可以看所有的重要檔案:

$>tree -l 1

.|-- head # 這個git專案當前處在哪個分支裡

|-- config # 專案的配置資訊,git config命令會改動它

|-- description # 專案的描述資訊

|-- hooks/ # 系統預設鉤子指令碼目錄

|-- index # 索引檔案

|-- logs/ # 各個refs的歷史資訊

|-- objects/ # git本地倉庫的所有物件 (commits, trees, blobs, tags)

`-- refs/ # 標識你專案裡的每個分支指向了哪個提交(commit)。

git的工作目錄儲存著你現在簽出(checkout)來用來編輯的檔案. 當你在專案的不同分支間切換時, 工作目錄裡的檔案經常會被替換和刪除. 所有歷史資訊都儲存在git目錄中 ;工作目錄只用來臨時儲存簽出(checkout) 檔案的地方, 你可以編輯工作目錄的檔案直到下次提交(commit)為止.

git索引是乙個在你的工作目錄和專案倉庫間的暫存區(staging area). 有了它, 你可以把許多內容的修改一起提交(commit). 如果你建立了乙個提交(commit), 那麼提交的是當前索引(index)裡的內容, 而不是工作目錄中的內容.

使用git status命令是檢視索引內容的最簡單辦法. 你執行git status命令, 就可以看到: 哪些檔案被暫存了(就是在你的git索引中), 哪些檔案被修改了但是沒有暫存, 還有哪些檔案沒有被跟蹤(untracked).

$>git status

# on branch master

# your branch is behind 'origin/master' by 11 commits, and can be fast-forwarded.

## changes to be committed:

# (use "git reset head ..." to unstage)

## modified: daemon.c

## changed but not updated:

# (use "git add ..." to update what will be committed)

## modified: grep.c

# modified: grep.h

## untracked files:

# (use "git add ..." to include in what will be committed)

## blametree

# blametree-init

# git-gui/git-citool

如果完全掌握了索引(index), 你就一般不會丟失任何資訊, 只要你記得名字描述資訊(name of the tree that it described)就能把它們找回來.

目錄 PAT乙級題解目錄索引

pat乙級題解目錄。1001.害死人不償命的 3n 1 猜想 15 1002.寫出這個數 20 1003.我要通過!20 1004.成績排名 20 1005.繼續 3n 1 猜想 25 1006.換個格式輸出整數 15 1007.素數對猜想 20 1008.陣列元素迴圈右移問題 20 1009.說反...

Oracle筆記 目錄索引

oracle筆記 一 oracle的安裝 sqlplus的使用 oracle筆記 二 常用dba命令列 oracle筆記 三 function select oracle筆記 四 增刪改 事務 oracle筆記 五 建立表 約束 檢視 索引 序列 同義詞 表空間 oracle筆記 六 pl sql簡...

Nginx目錄索引模組

三.配置檔案舉例 四.修改完配置檔案的注意事項 syntax default context 預設中 錄亂碼,新增上解決亂碼。server 使用者請求game.oldboy.com centos oldboy code centos location centos nginx tsystemctl ...