GIT的版本库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIT的版本库相关的知识,希望对你有一定的参考价值。
参考技术A创建一个版本库:git init
( kwydwuf注: 新版 git 中应该用 git init ,不要再用 init-db 命令,具体可以通过命令 git help init 查看)
可以了。现在我们来为本文的写作创建一个版本库: $mkdir gittutorcn$cd gittutorcn$git initgit 将会作出以下的回应 Initialized empty Git repository in/[yourpath]/.git或(Initialized empty Git repository in /Users/1a/gittutorcn/.git/)这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。你可以用 ls -a 查看一下,并请注意其中的三项内容:
* 一个叫 HEAD 的文件,我们现在来查看一下它的内容: $cat.git/HEAD现在 HEAD 的内容应该是这样: ref:refs/heads/master我们可以看到,HEAD 文件中的内容其实只是包含了一个索引信息,并且,这个索引将总是指向你的项目中的当前开发分支。
* 一个叫 objects 的子目录,它包含了你的项目中的所有对象,我们不必直接地了解到这些对象内容,我们应该关心是存放在这些对象中的项目的数据。
Note
关于 git 对象的分类,以及 git 对象数据库的说明,请参看 [Discussion]
* 一个叫 refs 的子目录,它用来保存指向对象的索引。
具体地说,子目录 refs 包含着两个子目录叫 heads 和 tags,就像他们的名字所表达的意味一样:他们存放了不同的开发分支的头的索引, 或者是你用来标定版本的标签的索引。
请注意:master 是默认的分支,这也是为什么 .git/HEAD 创建的时候就指向 master 的原因,尽管目前它其实并不存在。 git 将假设你会在 master 上开始并展开你以后的工作,除非你自己创建你自己的分支。
另外,这只是一个约定俗成的习惯而已,实际上你可以将你的工作分支叫任何名字,而不必在版本库中一定要有一个叫 master 的分支,尽管很多 git 工具都认为 master 分支是存在的。
现在已经创建好了一个 git 版本库,但是它是空的,还不能做任何事情,下一步就是怎么向版本库植入数据了。
GitGit 基础命令 ( Git 版本库概念 | 创建版本库 git init | 克隆版本库 git clone )
一、Git 版本库概念
Git 版本库概念 : Git 版本库 Repository 又称为 Git 仓库 , 在系统中的表现就是一个 " 文件目录 " , Git 可以管理 该目录中的所有文件的 增加 , 修改 , 删除 操作 , 并可以追踪每个文件的历史 , 可以还原出任意时间节点的文件 ;
二、创建版本库 git init
将 " 普通文件目录 " 转为 " Git 版本库 " : 进入该目录 , 使用
git init
命令 , 就可以将目录转为 Git 版本库 ;
Git 版本库 的特征是 , 目录下有一个 " .git " 目录 , 该目录是用于管理 Git 版本库的 ;
执行过程如下 :
D:\\Git>git init
Initialized empty Git repository in D:/Git/.git/
D:\\Git>
三、克隆版本库 git clone
使用 git clone
命令 , 可以克隆远程仓库中的所有数据 , 注意是所有数据 , 包括 Git 版本库中的 .git
文件 ;
git clone 后需要添加 Git 版本库的地址 , 这个地址可以是多种协议 , 如 https / http / git 等协议 ;
git clone https://codechina.csdn.net/han12020121/git-learning-course
执行过程 :
D:\\Git>git clone https://codechina.csdn.net/han12020121/git-learning-course
Cloning into 'git-learning-course'...
warning: redirecting to https://codechina.csdn.net/han12020121/git-learning-course.git/
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 6 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), done.
D:\\Git>
注意 : 在 D:/Git
目录中执行 git clone
命令 , 克隆下来的版本库放在 D:\\Git\\git-learning-course
目录中 , D:\\Git\\git-learning-course
目录 才是 Git 版本库 所在目录 ;
以上是关于GIT的版本库的主要内容,如果未能解决你的问题,请参考以下文章