HAED 文件包括对 git分支 的操纵记录,如
- vi HEAD
- # 99a10c283c33beed7f31c210a6c8b411d2a31085 5daf6094ea2cc60d17e947c0435096a4bdafe82d yeshou <yeshou@xxx.com> 1535082919 +0800 commit: rm files
- # 5daf6094ea2cc60d17e947c0435096a4bdafe82d b8e02a5f9c2bf44342d15f5ea1e60ffd9434765a yeshou <yeshou@xxx.com> 1535087285 +0800 checkout: moving from test to master
- # 先是删除文件后提交了次,再是由test检出到master
refs 文件夹包括 heads 文件夹,remote文件夹。heads 记录当地相干的各 git分支 操纵记录,remote 记录长途客栈相干的各 git分支 操纵记录
- cd heads
- ls
- # master master分支操纵记录
- # test test分支操纵记录
-
- cd remote/origin
- ls
- # master 长途master分支操纵记录
- # test 长途test分支操纵记录
HEAD 文件指示当前被检出(地址)的分支,如当前在test分支,文件内容则为ref: refs/heads/test。
index 文件是当前版本的文件索引,包括天生当前树(独一确定的)工具的所虚信息,可用于快速比对事变树和其他提交树工具的差别(各commit和HEAD之间的diff),可用于存储单文件的多个版本以有用的办理归并斗嘴。可行使git ls-files 查察index文件内容。如:
- git commit 的一次提交从index中的信息天生tree工具,将其存储在工具数据库中,并与本次新的commit做关联,发生本次commit的tree信息(下面的objects先容中会提到commit和tree)。
refs/ (references) 文件夹存储指向数据(分支)的提交工具指针;个中 heads 文件夹记录内部文件对应名称的分支的提交工具;tags记录内部文件对应名称的标签的提交工具;remotes记录内部文件对应名称的长途客栈分支的提交工具;
举个例子:
- cat .git/refs/heads/master
- # ce1fed3fdbaf12e816e3028055f9feee57b33b45 当前master的提交记录
- git checkout -b test # 检出一个新分支
- find .git
- # 多了个 .git/refs/heads/test 文件
- git log
-
- # commit 63a85dcbc6978f2d43996f5bebc38993c2afadaa (HEAD -> test)
- # Author: yeshou <yeshou@xxx.com>
- # Date: Sat Aug 25 13:57:26 2018 +0800
- #
- # branch test : edit test : add line : write d
-
- # commit ce1fed3fdbaf12e816e3028055f9feee57b33b45 (master)
- # Author: yeshou <yeshou@xxx.com>
- # Date: Sat Aug 25 12:40:35 2018 +0800
- #
- # edit test : add line : write c
-
- cat .git/refs/heads/test
- # 63a85dcbc6978f2d43996f5bebc38993c2afadaa 当前test的最近提交记录
- cat .git/refs/heads/master
- # ce1fed3fdbaf12e816e3028055f9feee57b33b45 依然是当前master的最近提交记录
另两者亦然。
objects/ 文件夹用以存储git客栈中的全部数据内容。
一步步来…
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|