# GIT 命令
1 安装好Git后执行命令
```
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
```
2 将文件添加到版本库
```
git add file1.txt
```
3 提交代码
```
git commit -m "add one file."
```
4 查看版本库状态
```
git status
```
5 查看文件差异
```
git diff a.txt
```
6 查看提交日志
```
git log
或
git log --pretty=oneline
```
7 代码回滚
```
git reset --hard commit_id //回滚指定提交ID使用git log查看
git reset --hard HEAD~3 //回滚最近3次
```
8 查看工作区和版本库
```
git diff HEAD -- readme.txt
```
9 放弃修改(加到最近一次commit或add)
```
git checkout -- a.txt
```
10 回滚到最新版本
```
git reset HEAD a.txt
```
11 重版本库删除文件
```
git rm a.txt
```
12 本地master分支推送到远程origin
```
git push origin master
```
13 将远程库克隆到本地
```
git clone git@git.oschina.net:houdunwang/hdphp.git
```
14 创建分支
```
git branch dev
```
15 切换分支
```
git checkout dev
```
16 查看所有分支
```
git branch
```
17 合并指定分支到当前分支
```
git merge dev//合并dev分支到当前分支
```
18 删除分支
```
git branch -d dev
或 git branch -D dev //强制删除分支
```
19 创建并切换分支
```
git checkout -b feature1
```
20 分支合并图
```
git log --graph
```
21 不使用fast合并模式,即合并后创建一个新提交点,不直接跳到合并的分支点
```
git merge --no-ff -m "merge with no-ff" dev //创建一个新提交点合并dev分支
```
22 隐藏当前工作现场
```
git stash
```
23 查看远程库的信息
```
git remote -v
```
24 推送到远程分支
```
git push origin dev
```
25 获取远程其他分支
```
git checkout -b dev origin/dev //获取远程dev分支
```
26 什么是标签
```
标签就是指向某个commit的指针
```
27 打标签
```
git tag v1.0
```
28 查看标签信息
```
git show v1.0
```
29 某个提交点打标签
```
git tag v0.9 6224937 //使用git log查看提交点
```
30 打标签并加注释
```
git tag -a v0.1 -m "version 0.1 released" 3628164
```
31 删除标签
```
git tag -d v1.0
```
32 推送标签到远程
```
git push origin v1.0
```
33 推送所有标签到远程
```
git push origin --tags
```
34 Git如何获得两个版本间所有变更的文件列表
```
git diff branch1 branch2 --stat
```
<br/><br/><br/><br/><br/><br/>
- 基础
- 框架特性
- 开发规范
- 许可协议
- 安装
- 伪静态
- 作者
- 更新日志
- 架构
- 入口文件
- 目录结构
- 系统常量
- 自动加载
- 应用目录
- 配置
- 设置配置
- 检测配置
- 获取配置
- 配置文件
- 扩展配置
- c 函数
- 函数
- 工具函数
- 控制器
- 定义
- 空方法
- 基本访问
- 路由
- 基础路由
- 控制器路由
- 路由参数
- 参数检测
- 分组路由
- RESTful
- 数据库
- 配置
- 核心操作
- 查询构造器
- 表操作
- 事务处理
- 函数
- 查询日志
- 模型
- 定义模型
- 模型动作
- 构建数据
- 模型验证
- 自动完成
- 自动过滤
- 字段映射
- 表单令牌
- 字段保护
- 视图模型
- 关联模型
- 魔术方法
- 视图
- 模板配置
- 模板文件
- 分配数据
- 请求响应
- 系统标签
- 扩展标签
- 缓存模板
- 模板继承
- 中间件与钩子
- 中间件
- 钩子
- 缓存
- 基础
- Mysql缓存
- 文件缓存
- 调试
- Trace
- 日志
- 调试模式
- 服务
- 介绍
- 创建服务
- 系统服务
- 自动完成
- 压缩&解压
- 自动验证
- 上传
- 字符串
- 响应
- 请求数据
- RBAC
- QQ整合登录
- 分页
- 邮件
- 语言
- 图像
- 生成静态
- 目录操作
- 数据处理
- curl
- 加密
- Cookie
- 验证码
- 购物车
- 备份
- 数组
- 支付宝
- xml
- 工具
- 云接口
- 前端组件
- 基本配置
- 列表框日期选择
- CSS 样式
- URL操作
- 数据验证
- 城市选择
- JSON处理
- 幻灯片
- checkbox滑动样式
- 消息框
- md5
- 模态框
- 上传表单样式
- 选择字体
- 剪贴板
- 上传图片
- 上传文件
- 拾色器 spectrum
- 列表框 select2
- 百度地图
- 二维码生成
- 表单提交
- 时间管理 moment
- 加载动画
- 百度编辑器
- Cookie操作
- 图标库 font-awesome
- emotion表情
- domReady
- 日期 datetimepicker
- 日期区间列表 daterangepicker
- 日期区间 daterangepicker
- 时间 clockpicker
- 图表
- 光标控制 caret
- 表单验证 bootstrapValidator
- 微信
- 配置项
- 绑定开发者
- 获取access_token
- 网页授权获取用户基本信息
- 微信支付
- 微信红包
- 用户管理
- 二维码
- 回复消息
- 消息管理
- 素材管理
- 会员组管理
- 事件管理
- 消息群发
- 客服
- 自定义菜单
- 菜单管理
- 菜单事件
- 附录
- 升级环境
- HTTP 状态码
- GIT 命令