一、Git是什么
Git是目前世界上最先进的分布式版本控制系统。
二、SVN与Git的最主要区别
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
三、如何在windows上安装Git
1、 

2、打开Git Bash
3、 git config --global user.name "liupeng"
git config --global user.email "liupeng@XXX.com"
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
git config --global表示对机器上所有的仓库都会使用这个配置
四、创建版本库
1、cd d: -> mkdir Git ->cd Git ->
git init (会多出一个隐藏文件夹.git,是Git用来跟踪版本管理的,不要修改)

五、把文件添加到版本库
1、在目录下新增test.txt
2、
git add test.txt 添加到
暂存区(第四点中讲到)里面

3、
git commit -m "测试提交" 把暂存区文件提交到仓库

4、
git status 查看是否还有未提交文件

5、修改test.txt,
git status 看到有修改未提交的文件

6、查询修改内容,
git diff git_test.txt (git diff test.txt)

7、提交修改的内容,命令同上

六、版本回退
1、在test.txt中继续增加一行333333,再git add,git commit -m ""
2、查看历史提交记录
git log

3、如果嫌内容太多,可以使用
git log --pretty=oneline

4、回退到上一个版本,和上N个版本,
git reset --hard HEAD^;


5、再将回退的版本,还原回来,
git reflog ->
git reset --hard 796afc2

七、理解工作区与暂存区
1、工作区:就是你在电脑上看到的目录
2、版本库:工作区有一个隐藏目录.git,这个不属于工作区,属于版本库,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的指针HEAD
1)在test.txt中新增一行444444,并新建一个test_2.txt

2)将两个文件都git add到暂存区,并用git status查看,再统一提交

八、撤销修改
先在test.txt中增加一行555555,但是发现修改错了,要撤销修改,有两个方法:
【1】手动修改,再add到暂存区,再commit
【2】直接恢复到上一个版本,git reset --hard HEAD^
【3】git checkout -- test.txt(--后面必须要有空格,推荐使用)

使用git checkout -- test.txt有两种情况:
【1】test.txt文件还没放到暂存区(即还没有git add),撤销修改就回到和版本库一模一样的状态。
【2】test.txt文件已经放到暂存区(即已经有git add),再进行修改,撤销修改就回到和添加到暂存区后的状态。举例如下:

九、删除文件
1、撤销删除

2、提交删除

###文章都是小编一个个字敲出来的,如果觉的有用,有条件的朋友可以资助下,谢谢
!
