什么是git?
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
详细的介绍可以查看官网以及廖学峰老师的官方网站
git的安装以及仓库的搭建
[root@server4 ~]# yum install -y git
git这个工具在rhel7中是自带的,可以直接用yum下载。
[root@server4 ~]# mkdir demo
[root@server4 ~]# ls
demo
[root@server4 ~]# cd demo/
[root@server4 demo]# ls
创建一个空目录,作为git的工作区。
[root@server4 demo]# git init
初始化git。
查看工作区内的隐藏文件。可以查看到git。
[root@server4 demo]# git status
查看git的状态,此时里面是空的,我们可以往里面添加文件。
[root@server4 demo]# vim hello.txt
创建一个文本文件。
[root@server4 demo]# git status -s
查看文件的状态,??表示没有跟踪,M表示修改,A表示添加。
[root@server4 demo]# git add hello.txt
添加文件后查看状态,已经有?变为了A,表示文件已经添加到了缓存区,但文件还没有上传仓库。
查看到git的状态,可以看到可以用rm删除缓存区的文件。
[root@server4 demo]# git commit -m "add hello.txt"
提交文件,提交时可以用-m选项添加一些描述,下面要我们添加一些信息。
[root@server4 demo]# git config --global user.email "hangls@qq.com"
[root@server4 demo]# git config --global user.name "hls"
[root@server4 demo]# git commit -m "add hello.txt"
添加完信息再次提交就完成了,这些信息添加一次之后就不需要重复添加了,以后提交邮件时也不会出现这样的提示信息。
再次查看状态,已经查看不到了,没有在待处理的工作。
[root@server4 ~]# cat .gitconfig
可以查看到邮件地址等信息。
[root@server4 demo]# git log
查看git的日志,需要注意的时所有的操作都需要在工作区内做,要不会找不到文件。
git文件的版本回退
使用git提交文件时可以对文件内容进行修改,每次修改提交后都会形成一个版本。
[root@server4 demo]# git add test1
[root@server4 demo]# git commit -m "v1"
这样可以查看每个版本的情况。
[root@server4 demo]# git log
这样可以查看更详细的信息。
进行版本回退可以还原当时版本的状态,即使文件被删除了也可以恢复。
[root@server4 demo]# git reset --hard id
使用这个命令就可以使文件的版本回到指定的版本,详情请看下面的例子。
这个文件内只有一行而且是前面已经提交过的。
这是提交的信息。
[root@server4 demo]# vim hello.txt
现在对文件进行修改,在下面多加几行。
[root@server4 demo]# git add hello.txt
[root@server4 demo]# git commit -m "add hello:v2"
将修改后的文件提交,现在相当于把源文件修改,做了一个版本升级,那么下面对文件进行复原,进行版本回退。
[root@server4 demo]# git reset --hard f8a3186
只要找到版本的id号直接就可以用命令进行版本回退。
需要注意的是,就算这个文件被删除了,也可以通过版本的id号找回。