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 管理中的文件状态(没有变动),记录在本地仓库/远程仓库,未被修改,这个文件在本地仓库没有对这个文件做修改,
(这个文件在工作区,缓存区,本地仓库都有一份,这三个区域是一致的,但未被修改)