菜鸟笔记
提升您的技术认知

Git初始化仓库

 

 

 

建仓库

我们可以对已存在目录进行初始化,对仓库内容进行管理
第一步是创建一个空仓库,这是后续操作的前提

 

[root@ci-node1 ~]# mkdir -p /data/git_test // 创建要作为git仓库的目录
[root@ci-node1 ~]# cd /data/git_test // 进入该目录
[root@ci-node1 git_test]# git init // 初始化仓库  使用 git init 命令创建一个空仓库
Initialized empty Git repository in /data/git_test/.git/

// 空仓库创建完成后 git_test 文件夹下会生成一个.git 隐藏文件夹。这个就是我们创建的git仓库,仓库默认包含一个主支,即 master,默认操作都是在主分支 master 上进行的。

[root@ci-node1 git_test]# ll -a
total 0
drwxr-xr-x  3 root root  18 Aug 24 00:17 .
drwxr-xr-x. 3 root root  22 Aug 24 00:13 ..
drwxr-xr-x  7 root root 119 Aug 24 00:17 .git

 

进入git仓库

[root@ci-node1 git_test]# cd .git/
[root@ci-node1 .git]# ll
total 12
drwxr-xr-x 2 root root   6 Aug 24 00:17 branches // 分支
-rw-r--r-- 1 root root  92 Aug 24 00:17 config  //配置文件
-rw-r--r-- 1 root root  73 Aug 24 00:17 description //描述文件
-rw-r--r-- 1 root root  23 Aug 24 00:17 HEAD  
drwxr-xr-x 2 root root 242 Aug 24 00:17 hooks // 存放钩子脚本
drwxr-xr-x 2 root root  21 Aug 24 00:17 info
drwxr-xr-x 4 root root  30 Aug 24 00:17 objects // 仓库
drwxr-xr-x 4 root root  31 Aug 24 00:17 refs

 

Git 仓库基础操作

Git 的四个区域

Workspace:工作区()就是创建的git仓库(git_test目录) 
Index / Stage / Cached:暂存区(它像一个结存区域,临时保存你的改动)一般存放在 ".git 目录下" 下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)

Repository:本地仓库工作区有一个隐藏目录.git,这个不算工作区,而是 Git 的版本
库。
Remote:远程仓库 github gitlab

 

 

Git 的四种状态

前面讲了 Git 有四个区域,而单就文件改动状态层面而言,Git 区域内的文件也有 4 种状态(需要注意的是文件状态并不是与 Git 区域一一对应的),这是 Git 第二个重要概念。

Untracked:未跟踪的文件,新增的文件的状态,新创建的文件,未受 Git 管理,记录在工作区(缓存区和仓库没有这个文件)
Modified:被修改状态,受 Git 管理过的文件的改动状态(包括改动内容、删除文件),记录在工作区
Staged:一个未被跟踪文件,在工作区新创建文件,添加到暂存区以后,状态变成Staged。将记录在工作区的文件变动状态通知了 Git,记录在暂存区

 

Unmodified:受 Git 管理中的文件状态(没有变动),记录在本地仓库/远程仓库,未被修改,这个文件在本地仓库没有对这个文件做修改,

(这个文件在工作区,缓存区,本地仓库都有一份,这三个区域是一致的,但未被修改)