1. 程式人生 > >git學習()git的版本庫在哪兒

git學習()git的版本庫在哪兒

狀態 所有 AI git add commit 配置文件 工作 設計 所在

[root@mycentos ~]# git --version
git version 1.7.1
[root@mycentos ~]# git config --global user.name "tuhooo"
[root@mycentos ~]# git config --global user.email [email protected]


新建一個目錄,然後進去
git init

1.6.5 以後的可以在git後面接目錄名,自動完成目錄的創建

git add

git commit -m "commit message"


工作區根目錄為什麽有個.git目錄


CVS:工作區的根目錄以及每個子目錄下面都有一個CVS目錄,包含了幾個配置文件,建立了對版本庫的追蹤。

如CVS目錄下的Entries文件記錄了從版本庫檢出到工作區的文件名稱、版本和時間戳等,通過時間戳的對比可以快速掃描工作區文件的改動。

Git將版本庫放在工作區根目錄下的設計使所有的版本控制操作都在本地即可完成。

git grep "工作區文件內容搜索"

git將版本庫(.git)放在工作區根目錄下,git的相關操作一定要在工作區根目錄下執行麽?

換句話說,在工作區的子目錄下執行git命令,是如何定位版本庫呢?

實際上,在git工作區的某個子目錄下執行操作時,會在工作區目錄中依次向上遞歸查找.git目錄,找到的.git目錄就是工作區對應的版本庫,.git所在目錄就是工作區的根目錄,文件.git/index記錄了工作區文件的狀態(實際上是暫存區的狀態)。

在非git工作區執行git命令會因為找不到.git目錄而報錯。


追蹤git status的磁盤訪問
strace -e ‘trace=file‘ git status


顯示工作區根目錄
git rev-parse --show-toplevel

顯示版本庫.git目錄所在位置
git rev-parse --git-dir

相對於工作區根目錄的相對目錄
git rev-parse --show-prefix

從當前目錄後退到工作區的深度

git rev-parse --show-cdup

git學習()git的版本庫在哪兒