--备注:file 代表某个文件,不是命令
检查系统有无装过Git环境
    git
配置Git用户和邮箱
    git config --global user.name '你的用户名'
    git config --global user.email '你的邮箱'
让当前目录变成git管理的仓库
    git init
添加文件到仓库
    git add readme.txt
提交文件到仓库
    git commit -m '备注内容'
查看工作区状态
    git status
查看文件是否被修改过
    git diff
显示从最近到最远的提交日志
    git log                        --关闭电脑找不到了
    git log --pretty=onelone    --显示一行
    git reflog                    --用来记录你的每一次命令,关闭电脑还可以找
版本回退到上一个版本
    git reset --hard HEAD
版本回到指定版本
    git reset --hard 1094a        --1094代表某个commit id前几位,可以通过git log去找
查看文件内容
    cat file        
提交第二次修改
    第一次修改 -> git add -> 第二次修改 -> git add -> git commit --OK
    第一次修改 -> git add -> git commit -> 第二次修改 -> git commit --错误,提交的是第一次修改,第二次没有
丢弃工作区的修改
    git checkout --file
    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
    总之,就是让这个文件回到最近一次git commit或git add时的状态
把暂存区的修改撤销掉,重新放回工作区
    git reset HEAD file
删除文件
    rm file --本地文件删除,版本库未删除
版本库中删除该文件
    git rm file --版本库删除
    git commit -m '备注'
删除的文件找回
    git checkout file        --注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!
添加远程库
    git remote add origin git@server-name:path/repo-name.git
    git remote add origin git@github.com:yuanziren/learngit.git  
    --把yuanziren换成自己的github账户名,learngit.git换成自己的仓库
推动本地库到远程库
    git push -u origin master
    --由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
    git push origin master  --简化命令
克隆一个本地库
    git clone git@github.com:michaelliao/gitskills.git
    git clone https://github.com/michaelliao/gitskills.git
    --使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https
    --git支持多种协议,包括https,但ssh协议速度最快
-------------------------老版本-------------------------
创建分支并切换分支
    git checkout -b dev     --等同下面两条命令
    git branch dev
    git checkout dev
查看当前分支
    git branch                --会列出所有分支,当前分支前面会标一个*号
切换分支
    git checkout master
合并分支
    git merge dev
删除分支
    git branch -d dev
-------------------------新版本-----------------------
创建分支并切换分支
    git switch -c dev
切换分支
    git switch master
解决冲突
    --合并分支后文件存在冲突,必须手动解决冲突后再提交
    --Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存
    --master和dev修改要修改一致,再重新add 和commit
    --删除分支
看到分支合并图
    git log --graph --pretty=oneline --abbrev-commit
    git log --graph