什么是Git?
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
为什么要学Git?
Git 作为一种分布式的版本管理系统,其功能性和灵活性都更强大。Git中每个版本节点详细清晰,可以很方便的帮你管理你的代码,使你在各个版本之间自由切换。不怕断网断电的特性,使你可以无网也可以工作。其创建分支的特点,可以很简单的帮助你的团队协同工作。
如何安装Git?
详情安装请参考Git官网。
Git基本概念
工作区(Working Area):本地磁盘上的工作区
暂存区(Stage):是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中;也被称作“索引”。
本地仓库(Local Repository):本地版本库
远程仓库(Remote Repository):远程仓库
根本上来讲 Git 是一个内容寻址(content-addressable)文件系统。
Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。
为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
Git 对待数据更像是一个快照流。
Git基础—“增删改拉”
安装好后就可以使用Git开始基本操作了。
初始化Git仓库
在想要创建仓库的地方,使用命令 git init 初始化仓库。
例如:
这时可以在/root/testgit下找到 .git 文件(意味着成功创建)。
这时/root/testgit目录下的文件即为仓库内的所有。
增——提交到仓库
使用命令 git add xxx 可以将文件xxx放在提交区内,
使用命令 git commit -m "xxx"可提交所有提交区内文件,并在版本节点增加说明xxx。例:
此时a.txt和b.txt文件就被我们提交到了仓库内。
两次提交,故有两个版本节点。
改——回退版本
查看提交记录:git log
查看管理参考日志信息: git reflog
此时可以看到提交的记录信息,包含ID、作者、日期,说明。
对应字段:commit 、Author 、Date、 sub…
回退版本:git reset --hard [commit] /HEAD^/HEAD@{2}
HEAD代表当前版本。
^表示上一个版本,HEAD@{2}表示日志中的对应版本。
此时我们位于提交a.txt时的版本。查看提交记录。
此时只能看到当前版本之前的提交记录。只能通过日志信息,得到第二次提交b.txt时的版本ID(可缩写,但注意不要和别的ID重复),并进行回滚。
撤——管理修改
查看将提交的修改:git status
撤销修改文件: git checkout --file
未添加到提交区,就回退到当前版本状态。
添加到提交区,就回退到提交区内版本。
删——管理删除
在Git中,删除也是一个修改操作。
删除文件 rm file
此时可选择提交版本、恢复或从仓库内删除,提交的版本内c.txt被删除。
git commit -a 提交所有修改和删除的文件
git checkout c.txt 恢复文件c.txt
git rm c.txt删除版本库内c.txt,进行提交后可保存删除版本。