Git学习笔记:版本库

版本库

创建一个版本库:

$git init
已初始化空的 Git 仓库于 /home/codemaxi/git_test/.git/

这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。你可以用 ls -a 查看一下,并请注意其中的三项内容:

codemaxi@codemaxi-PC:~/git_test$ ls -l .git/
总用量 44
drwxrwxr-x  2 codemaxi codemaxi 4096 5月  23 16:01 branches
-rw-rw-r--  1 codemaxi codemaxi   26 5月  23 22:08 COMMIT_EDITMSG
-rw-rw-r--  1 codemaxi codemaxi   92 5月  23 16:01 config
-rw-rw-r--  1 codemaxi codemaxi   73 5月  23 16:01 description
-rw-rw-r--  1 codemaxi codemaxi   23 5月  23 16:01 HEAD
drwxrwxr-x  2 codemaxi codemaxi 4096 5月  23 16:01 hooks
-rw-rw-r--  1 codemaxi codemaxi  190 5月  24 07:17 index
drwxrwxr-x  2 codemaxi codemaxi 4096 5月  23 16:01 info
drwxrwxr-x  3 codemaxi codemaxi 4096 5月  23 19:27 logs
drwxrwxr-x 17 codemaxi codemaxi 4096 5月  24 07:14 objects
drwxrwxr-x  4 codemaxi codemaxi 4096 5月  23 16:01 refs
codemaxi@codemaxi-PC:~/git_test$ 
  • 一个叫 HEAD 的文件,我们现在来查看一下它的内容:
codemaxi@codemaxi-PC:~/git_test$ cat .git/HEAD 
ref: refs/heads/master
codemaxi@codemaxi-PC:~/git_test$ 

我们可以看到,HEAD 文件中的内容其实只是包含了一个索引信息,并且,这个索引将总是指向你的项目中的当前开发分支(当前我们的开发分支就是主分支master)。

  • 一个叫 objects 的子目录,它包含了你的项目中的所有对象,我们不必直接地了解到这些对象内容,我们应该关心是存放在这些对象中的项目的数据。关于 git 对象的分类,以及 git 对象数据库的说明,我们后面再来说。

  • 一个叫 refs 的子目录,它用来保存指向对象的索引以及标签信息。

codemaxi@codemaxi-PC:~/git_test$ ls -l .git/refs/
总用量 8
drwxrwxr-x 2 codemaxi codemaxi 4096 5月  23 22:08 heads
drwxrwxr-x 2 codemaxi codemaxi 4096 5月  23 16:01 tags
codemaxi@codemaxi-PC:~/git_test$ 

具体地说,子目录 refs 包含着两个子目录叫 heads 和 tags,就像他们的名字所表达的意味一样:他们存放了不同的开发分支的头的索引, 或者是你用来标定版本的标签的索引。

master 是默认的分支,这也是为什么 .git/HEAD 创建的时候就指向 master 的原因,尽管目前它其实并不存在。 git 将假设你会在 master 上开始并展开你以后的工作,除非你自己创建你自己的分支。

这样一个本地的版本库就创建成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值