跳到主要内容

03 Git初始化仓库

1.初始化仓库

通常有两种获取 Git 项目仓库的方式:

  1. 将尚未进行版本控制的本地目录转换为 Git 仓库;
  2. 从其它服务器 克隆 一个已存在的 Git 仓库。

两种方式都会在你的本地机器上得到一个工作就绪的 Git 仓库。

1.1 方法一:在已存在目录中初始化仓库

$ mkdir test
$ cd test
$ git init

1.2 方法二:克隆现有的仓库

从 GitHub 等网站克隆仓库,进入仓库:

$ git clone https://github.com/zxzsk/linux-cmd.git
$ cd linux-cmd

查看当前仓库的远程地址:

$ git remote -v

克隆仓库,进入仓库

2.仓库目录

所有仓库目录中都有一个 .git 目录

仓库目录

.git 目录记录快照和配置信息,它是 Git 自动生成和管理的。请勿删除和编辑其中文件!

[!WARNING]

如果不慎删除 .git 目录,linux-cmd 目录将失去 Git 仓库的所有功能,变回普通目录。


了解一下 .git 目录的结构

git 管理目录

虽然用不上

.git 
├── HEAD # 指向当前分支的最新提交
├── config # 仓库的配置信息
├── objects/ # 存储提交、树和文件对象
├── refs/ # 分支和标签的引用信息
└── logs/ # 提交历史和操作日志

仓库中,除了 .git 目录以及 .gitignore 文件,其余都是你正在做的项目文件。git中有个名词叫做工作区

仓库目录

此处的 my-website/README.md 就是工作区,被 Git 管理,存在历史快照。当你不小心改乱了其中的文件,可以通过 Git 命令回到某个历史版本!

3. 存档原理

3.1 三个区域

Git 的操作围绕是围绕 工作区、暂存区、版本库 展开的

工作区、暂存区、本地仓库

其中暂存区和版本库无法在仓库目录中直观的看到,只知道数据保存在 .git目录中。工作区是直接看到的,并且需要我们去编辑的目录。

区域

3.2 基于快照

每次提交时,Git 会为所有文件创建一个快照。如果文件未修改,Git 只会存储指向之前快照的引用。

Git 存储项目随时间改变的快照。