一、Git简介Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。二、Git安装

1.centos7安装Git

[root@server-1 ~]# yum install -y git

2.查看安装的Git版本

[root@server-1 ~]# git --versiongit version 1.8.3.1

3.创建git安装目录并初始化

[root@server-1 ~]# mkdir /data/git/[root@server-1 ~]# cd /data/git/[root@server-1 git]# git init Initialized empty Git repository in /data/git/.git/

初始化后在该目录下会生成.git隐藏目录

[root@server-1 git]# ls -latotal 0drwxr-xr-x. 3 root root 18 Apr 8 09:07 .drwxr-xr-x. 5 root root 45 Apr 8 09:05 ..drwxr-xr-x. 7 root root 119 Apr 8 09:07 .git[root@server-1 git]# ls .git/branches config description HEAD hooks info objects refs

4.新建一个test.txt测试文件

[root@server-1 git]# vim test.txt123abc

把本地test.txt文件添加到git仓库

[root@server-1 git]# git add test.txt

add后必须执行commit才能真正把文件提交到git仓库里

[root@server-1 git]# git commit -m "add new file test.txt"*** Please tell me who you are.Run git config --global user.email "you@example.com" git config --global user.name "Your Name"to set your account's default identity.Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got 'root@server-1.(none)')

修改test.txt

[root@server-1 git]# vim test.txt 123abc456789

[root@server-1 git]# git add test.txt[root@server-1 git]# git commit -m "add new file test.txt"*** Please tell me who you are.Run git config --global user.email "you@example.com" git config --global user.name "Your Name"to set your account's default identity.Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got 'root@server-1.(none)')

报错信息fatal: unable to auto-detect email address (got 'root@server-1.(none)')解决办法

编辑vi .git/config ,添加如下参数

[user] email = root@server-1 name = server-1

报错解决

再次添加和提交test.txt文件

[root@server-1 git]# git add test.txt[root@server-1 git]# git commit -m "add new file test.txt"[master (root-commit) 66455b2] add new file test.txt 1 file changed, 2 insertions(+) create mode 100644 test.txt

查看当前仓库中的状态是否有改动的文件

[root@server-1 git]# git status# On branch master# Untracked files:# (use "git add <file>..." to include in what will be committed)## .test.txt.swpnothing added to commit but untracked files present (use "git add" to track)

5.查看仓库里面文件版本更新的东西

[root@server-1 git]# git add test.txt[root@server-1 git]# git commit -m "add new file test.txt"[master 2654728] add new file test.txt 1 file changed, 3 insertions(+)[root@server-1 git]# git status# On branch master# Untracked files:# (use "git add <file>..." to include in what will be committed)## .test.txt.swpnothing added to commit but untracked files present (use "git add" to track)[root@server-1 git]# git logcommit 26547288f6ad9e70ab842b4848febc6d4ddeb5aaAuthor: server-1 <root@server-1>Date: Sun Apr 8 11:44:27 2018 +0800 add new file test.txtcommit 66455b2eaeb1bde8f76b54626d290ac814642723Author: server-1 <root@server-1>Date: Sun Apr 8 10:09:53 2018 +0800 add new file test.txt [root@server-1 git]# git logcommit 26547288f6ad9e70ab842b4848febc6d4ddeb5aaAuthor: server-1 <root@server-1>Date: Sun Apr 8 11:44:27 2018 +0800 add new file test.txtcommit 66455b2eaeb1bde8f76b54626d290ac814642723Author: server-1 <root@server-1>Date: Sun Apr 8 10:09:53 2018 +0800 add new file test.txt[root@server-1 git]# ^C[root@server-1 git]# git logcommit 26547288f6ad9e70ab842b4848febc6d4ddeb5aaAuthor: server-1 <root@server-1>Date: Sun Apr 8 11:44:27 2018 +0800 add new file test.txtcommit 66455b2eaeb1bde8f76b54626d290ac814642723Author: server-1 <root@server-1>Date: Sun Apr 8 10:09:53 2018 +0800 add new file test.txt

查看单行显示日志

[root@server-1 git]# git log --pretty=oneline 26547288f6ad9e70ab842b4848febc6d4ddeb5aa add new file test.txt66455b2eaeb1bde8f76b54626d290ac814642723 add new file test.txt

6.回退版本,撤销已修改的版本