1 Git初步操作
如果我们已经将Git安装好了,在电脑上屏幕上右击鼠标,就可以显示Git GUI Here 和Git Bash Here ,我们选择第二个打开,就可以进行各种操作了。 
1.1 查看当前版本
git --version

1.2 清屏
clear

1.3 设置签名
设置用户名:
git config --global user.name "用户名"
 设置邮箱:
git config --global user.email "邮箱"

2 创建版本库(仓库)
版本库就是“仓库”,英文名repository,可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
首先,创建一个文件夹,文件夹可以随便创建,不限位置,这里我以电脑E盘下创建目录git_s为例,来进行解释说明。  此时git还并不知道代码存入了这个文件夹中,因此我们接下来应该告诉git我们将代码存入了这个文件夹中,所以我们接下来在该文件夹中打开git终端Git Bash Here ,即在该文件夹中右击鼠标选择Git Bash Here ,或者使用以下命令。
常用命令介绍:
cd
dir
mkdir
pwd
cd..
 初始化本地仓库:
git init
 这时候我们发现图片的提示中,我们好像创建了一个.git 的目录,但是我们并没有在文件夹中发现它,这是因为带. 的目录默认是隐藏的,我们可以通过ll -la 命令来查看:  或者直接查看隐藏的项目也可以查看:  .git 目录是Git来跟踪管理版本的,不能随意修改目录里面的文件,否则,会破坏git仓库。那么.git 目录下面有什么呢,我们可以进入.git 目录下,使用ll 命令来查看具体内容。  注意:所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从1kb变成2kb,但是具体改了什么,版本控制也不知道。
3 添加文件到版本库
以在E:\git_s目录下创建readme.txt文件为例,来说明操作的命令。
为readme.txt编写内容:橘猫吃不胖。将创建的文件添加到暂存区,然后提交到仓库,命令如下:
git add 文件名
git commit -m "注释内容" [文件名]
git add .
 注意:
- 不放在本地仓库中的文件,git是不进行管理的
- 即使放在了本地仓库中的文件,git也不管理,必须通过
git add 和git commit 命令才可以将文件提交到本地仓库
4 检查是否有未提交的文件
git status
 git给出提示:nothing to commit, working tree clean,表示没有文件要被提交。如果修改readme.txt的文件,在文件中加入一行:今天天气真好;然后重新使用git status 检查状态:  修改文件后,通过命令git status 发现,文件已经被修改,但是未提交,因为文件被标红提示modified,这就表示我们需要重新将readme.txt文件提交到暂存区git add 文件名 ,再提交到本地库git commit -m "注释内容" 。
5 检查文件被修改的内容
如果要比对文件的差异,可以通过以下命令查看:
git diff
该命令可以比较所有的工作区的文件和暂存区的文件。  如果要比对暂存区和本地库中的文件,使用命令:
git diff HEAD/索引号 文件名
检查无误后,继续提交修改后的文件,与上面命令相同,或者使用以下命令。
git commit -am '注释'
 
6 查看历史变更记录
git log

git log --pretty=oneline

git log --oneline
 可以看到这种方式下,索引显示了前几个,更加简洁的显示信息。还有一个命令可以查看历史变更信息,命令如下:
git reflog
 可以看出比起上一种方式,该方式多了HEAD@{数字} ,其中数字表示回退到该版本需要回退多少步
7 版本回退
cat 文件名

git reset --hard HEAD^
 可以看到内容已经回退到上一个版本,通过git log 查看修改记录,发现最近的一次的记录已经看不到了。  如果想回到最新的版本,可以通过如下命令进行回退:
git reset --hard 版本号
如果要回退到上上个版本,可以使用git reset --hard HEAD^^ 命令,但是这样稍显麻烦,如果回退到100个版本之前,只需要执行这个命令即可:git reset --hard HEAD~100 。 
8 删除文件
删除工作区中的文件,一个方式是可以右键删除,还有一种方式是使用命令:
rm 文件名
 但是这样删除了工作区中的文件,暂存区和本地库中可能还会有一些记录,因此我们可以首先将暂存区的记录删除掉,使用命令:
git add 文件名
由于该文件已经被删掉了,所以使用git add 执行的就是一个删除操作了,这样就可以将暂存区的文件记录删掉。  再次使用git status 查看文件的状态,发现显示了deleted: readme.txt :  如果我们到这一步就后悔了,想要恢复暂存区中的数据,那么我们回退到没有删除之前的版本就可以了,首先使用git reflog 查看版本的历史记录,我们发现上一个版本是4b84141 ,那我们回退到该版本即可: 
git reset --hard 版本号
同理,如果我们再执行一个git commit 命令,也可以将本地库中的记录删除掉:
git commit -m "注释" 文件名
|