注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

牧笔临风

己有能,勿自私!

 
 
 

日志

 
 
 
 

.git目录下文件及目录功能简介  

2015-04-13 18:28:38|  分类: git |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
运行了git add和git commit没有将文件上传到服务器,那么都干了什么呢?先来说说git 的机制,git既然为分布式的版本控制工具,那就有别于svn集中管理式的机制。git是如何实现的呢?很简单将版本库完整的克隆一份到本地,这样就完成了任何人都为自己的git版本库做主的转换,这些文件就在你本机的.git下面
运行 ls .git有如下结果:
ls .git/
branches  config  description  HEAD  hooks  index  info  logs  objects  packed-refs  refs
下面来简单说一下这些文件及目录的用途
branches: 新版本的 Git 不再使用这个目录
config: 全局级别的配置文件,使用git config --global的配置都会写在这里
description: description is just a text file that is shown as project description in web frontend. Just write there something that explains what the repository is about。(应用参照:http://tosbourn.com/editing-git-repository-descriptions/)
HEAD: 指向当前工作分支的指向,没有分支指向ref: refs/heads/master,假设你运行如下命令查看当前工作的分支(分支的部分后面详讲),对比HEAD的变化
git 入门级使用(stage) - rock - 牧笔临风
hooks: 目录保存客户端及服务器端一些特定操作时触发的脚本,默认不生效,需要去掉结尾的.sample才生效
index: 文件保存了暂存区域信息,这是一个二进制文件,里面是什么呢?可以使用 git ls-files --stage来查看,我们先来看我们的项目下面都有什么,再看它就明白了,它里面保存的就是当前你的工作区中的文件,第一列是权限,第二列是sha1值,第三列是文件名
git 入门级使用(stage) - rock - 牧笔临风
 指定了文件模式为 100644,表明这是一个普通文件。其他可用的模式有:100755 表示可执行文件,120000 表示符号链接
info: 目录保存了一份不希望在 .gitignore 文件中管理的忽略模式 (ignored patterns) 的全局可执行文件
logs: 记录操作历史,在灾难恢复中特别有用
objects:  目录存储所有数据内容
packed-refs: 维护时运行的auto gc命令将将refs文件挪到.git/packed-refs中以提高效率,当更新一个引用时,Git 不会修改这个文件,而是在 refs/heads 下写入一个新文件。当查找一个引用的 SHA 时,Git 首先在refs 目录下查找,如果未找到则到 packed-refs 文件中去查找。因此如果在 refs 目录下找不到一个引用,该引用可能存到packed-refs 文件中去了。
refs: 目录存储指向数据 (分支) 的提交对象的指针
 
上面的文件和目录中以HEAD、index、objects和refs最为重要。


  评论这张
 
阅读(68)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017