▌ 初始化配置 (--global)参数表示计算机上的所有git仓库都使用这个配置
$ git config --global user.name “Your Name”
$ git config --global user.email “email@example.com”
▌ 创建目录
$ mkdir <目录名>
▌ 查看当前目录
$ pwd
▌ 初始化git仓库
$ git init //把当前目录变为git仓库
▌ 克隆源码到本地
$ git clone git://github.com/RubyLouvre/avalon.git
▌ 添加文件到暂存区
$ git add <file> //添加文件到暂存区,可多次添加
▌ 提交文件
$ git commit -m “注释” //提交暂存区文件到仓库
▌ 查看状态
$ git status
▌ 查看文件
$ git diff <file>
▌ 查看日志
$ git log [ -- pretty=oneline ] //查看日志
$ git reflog //查看版本库操作记录
▌ 回退版本
$ git reset -- hard HEAD^ //HEAD表示当前版本,上一个版本就是HEAD^,上上版本是HEAD^^回退版本比较多时写成HEAD~100
▌ 撤销修改
$ git checkout -- <file> //丢弃工作区的修改,恢复为版本库最新版本
$ git reset hard <file> //撤销暂存区的修改到最新版本
▌ 删除
$ git rm <file> //从版本库中删除该文件,删除后要提交commit
▌ 查看有哪些远程库
$ git remote
▌ 关联本地库和远程库
$ git remote add <远程库名> <远程库URL>
▌ 推到远程仓库
$ git push <远程库名> <分支名>
▌ 从远程库克隆到本地库
$ git clone <远程库URL>
▌ 创建和切换分支
$ git checkout -b <分支名> //创建并切换到新分支
$ git branch <分支名> //只创建一个分支,不切换
$ git checkout <分支名> //切换到某个分支
▌ 查看分支
$ git branch //查看本地分支
$ git branch -r //查看远程分支
▌ 分支合并
$ git merge <要合并的分支名> //合并后会丢掉分支信息
$ git merge --no-ff -m “描述” <分支名> //能看到合并历史
▌ 删除分支
$ git branch -d <分支名>
▌ 查看分支合并图
$ git log --graph
▌ 储藏
$ git stash //存储数据
$ git stash lish //查看之前的存储
$ git stash apply //恢复
$ git stash drop //删除存储
$ git stash pop //恢复并删除存储
$ git stash clear //清除队列
▌ 打标签
$ git tag <标签名或版本号> [<历史的commit id>]
$ git tag //查看所有标签
$ git show <标签名> //查看标签信息
$ git tag -d <标签名> //删除本地标签
$ git push <远程库origin> <标签名> //推送某标签
$ git push <远程库origin> --tags //推送所有标签