## git简介
* 目前最先进的分布式版本控制系统
* 实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
## git安装
**1. 下载软件即可,安装好打开gitbash**
https://git-for-windows.github.io
**2. 安装完成后,还需要最后一步设置,在命令行输入:**
--global:表示这台机器上所有仓库都会用这个账号
~~~
git config --global user.name 'yestian'
git config --global user.email 'yestian@qq.com'
~~~
**3.创建版本库**
* 建立空目录
pwd:显示当前 目录
~~~
mkdir myweb
cd myweb
pwd
~~~
* 把这个目录变成git可以管理的仓库:**初始化**
自动生成隐藏文件.git
~~~
git init
~~~
**4.创建文件到提交分为二步**
第一步增加:git add 新增的文件; //把文件添加到暂存区
第二部提交:git commit -m '改动说明'; //把暂存区的文件提交到当前分支
**5.查看仓库当前状态**
~~~
git status
~~~
**6.查看更改了哪些东西,但是没有提交的**
~~~
git diff
~~~
**7.回到上一个版本**
~~~
git reset hard HEAD^
//上n个版本
git reset --hard HEAD~n
~~~
**8.回到未来**
~~~
//加上id的前几位
git reset --hard 111111
~~~
**9.关掉命令窗口后,再恢复到指定点,查看命令历史**
~~~
git reflog
~~~
**10.删除还没有add的内容**
~~~
git checkout -- index.html
~~~
**11.暂存区的内容,退回工作区,然后再删掉**
~~~
git reset HEAD index.html
git checkout -- index.html
~~~
**12.提交到本地仓库的,用版本回退功能**
**13.提交到远程仓库的,就没有办法了**
**14.删除已经提交的文件**
~~~
git rm readme.txt
git commit -m 'remove a file'
~~~
15.删错了,撤销回来
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
~~~
git checkout -- readme.txt
~~~
![](https://box.kancloud.cn/3140921b12cc7d9a949076b2bb80d637_458x234.jpg)
![](https://box.kancloud.cn/f6ddf40f921f9953b6f84d107a11f689_463x234.jpg)