1. 程式人生 > 其它 >【Git】git init

【Git】git init

技術標籤:工具git

源站: 老薑部落格 Git講之git init

git init命令主要用來將專案檔案設定為通過git來進行版本管理.

該命令會在需要管理的檔案的根目錄中建立一個.git的隱藏目錄,該目錄儲存著整個版本改動的歷史記錄,我們日常使用中不需要操作這個目錄的.

通過執行git的相關命令來完成日常的版本的管理工作,這些命令背後的實質還是在操作.git目錄中的專案檔案.

下面建立一個新的目錄,初始化進行git版本管理.

$ mkdir git-sample
$ cd git-sample/
$ git init
Initialized empty Git repository in
C:/Users/jiangjian/AppData/Local/Temp/git-sample/.git/ $ ls -al .git/ total 11 drwxr-xr-x 1 jiangjian 197121 0 12月 16 13:55 ./ drwxr-xr-x 1 jiangjian 197121 0 12月 16 13:55 ../ -rw-r--r-- 1 jiangjian 197121 130 12月 16 13:55 config -rw-r--r-- 1 jiangjian 197121 73 12月 16 13:55 description -rw-r--r-- 1 jiangjian 197121 23 12月 16 13:55 HEAD drwxr-xr-x 1 jiangjian 197121 0 12月 16 13:55 hooks/ drwxr-xr-x 1 jiangjian 197121 0 12月 16 13:55 info/ drwxr-xr-x 1 jiangjian 197121 0 12月 16 13:55 objects/ drwxr-xr-x 1 jiangjian 197121 0 12月 16 13:55 refs/

以上幾個檔案或者目錄分別存放的內容描述如下:

  • config: 用來儲存git專案的配置屬性

可以通過git config來進行相關的配置.

$ git config user.name jiangjian
$ cd .git/
$ cat config
[core]
       repositoryformatversion = 0
       filemode = false
       bare = false
       logallrefupdates = true
       symlinks = false
       ignorecase = true
[user]
       name =
jiangjian
  • description: 專案的描述
  • HEAD: 當前的分支或者指向commitId(當處於detached HEAD狀態)
  • hooks/: 提供的是一些git hook 的示例
  • info/: 提供exclude的patterns
$ cd info/
$ ls
exclude
$ ll
total 1
-rw-r--r-- 1 jiangjian 197121 240 12月 16 13:55 exclude
$ cat exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
  • objects/: 這個相當於git的資料庫,這裡面儲存著所有的檔案資訊,裡面儲存著四類檔案,在後續的章節中進行說明
  • refs/:主要用來存放指向特定commitId,相當於索引.

以上的幾個檔案和目錄現階段主要了解個大概,後續章節逐步展開描述.

在這裡插入圖片描述