.git文件简介
·
.git文件简介
- git init的文件显示
- git clone的文件显示
当git init的文件夹进行第一次commit操作之后两者的文件就会变得相同:
文件以及作用:
hooks
存放一些shell脚本,他的实现的功能是与响应的git动作相关,相关文档请看这里~
info
存放一些信息,其中保存了一份不希望在 .gitignore 文件中管理的忽略的全局可执行文件
# 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]
# *~
logs
记录了本地仓库和远程仓库的每一个分支的提交信息,即所有 commit 对象都会被记录在此,这个文件夹内容应该是我们查看最频繁的,如 git log
d9b76de8ba4e81b436123c889a3522eb6fc2b8ab //上一次提交的hash值
b6ecc58539919d026c48c6c6a528fdbc248ac88c //本次提交的hash值
jiaxinmxx //用户名
<jiaxinmxx@163.com> //邮箱
1594796913 +0800 //Linux时间,东八区
reset: moving to HEAD^2 //提交信息
objects
这里保存 git 对象,git 中的一些操作以及文件都会以 git 对象形式保存在这里,git 对象分为 BLOB,tree,commit 三种类型。
refs
该文件夹保存了指向分支的提交对象也就是 commit 对象的指针,其中的 heads 文件夹存储了本地每一个分支最近一次提交的 id 值。每个分支一个文件;remotes 文件夹则记录你最后一次和远程仓库的通信,也就是说这里会记录最后一次每个分支推送到远端的值;tags 文件夹存储分支别名。
heads
文件(本地现在有两个分支=>jiaxin和master分支)
COMMIT_EDITMSG
记录了最后一次提交时的注释信息
config
这里存储项目的一些配置信息。
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = yourUrl
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 841x483+715+252 189 218
description
仅供 GitWeb 程序使用
FETCH_HEAD
某个分支在远程仓库的最新状态
b6ecc58539919d026c48c6c6a528fdbc248ac88c
branch 'master' of https://github.com/jiaxin-MXX/gittest
HEAD
该文件指明了本地的分支结果,如本地分支是 master,那么 HEAD 就指向 master,分支在 refs 中就会表示成
refs:refs/heads/master
ref: refs/heads/jiaxin
index
该文件 stage 暂存区信息,也就是 add 之后保存到的区域,内容包括它指向的文件的时间戳,文件名,hash值等
packed-refs
clone仓库时所有的引用
# pack-refs with: peeled fully-peeled sorted
b6ecc58539919d026c48c6c6a528fdbc248ac88c refs/remotes/origin/master
更多推荐
已为社区贡献1条内容
所有评论(0)