# Git 常用命令

详细了解git请移步到：https://git-scm.com/book/zh/v2

### 仓库

* 在当前目录新建一个Git代码库

  ```
  $ git init
  ```

* 新建一个目录，将其初始化为Git代码库

  ```
  $ git init [project-name]
  ```

* 下载一个项目和它的整个代码历史

  ```
  $ git clone [url]
  ```

### 配置

* 显示当前的Git配置

  ```
  $ git config --list
  ```

* 编辑Git配置文件

  ```
  $ git config -e [--global]
  ```

* 设置提交代码时的用户信息

  ```
  $ git config [--global] user.name "[name]"
  $ git config [--global] user.email "[email address]"
  ```

### Git高频操作命令

* 查看变化的文件
  ```
  $ git status
  ```

* 添加当前目录的所有文件到暂存区
  ```
  $ git add .
  ```

* 提交时显示所有diff信息
  ```
  $ git commit -v
  ```

* 提交暂存区到本地仓库区
  ```
  $ git commit -m [message]
  ```

* 更新本地仓库
  ```
  $ git pull
  ```

* 将已经commit到本地仓库的内容提交到远程仓库
  ```
  $ git push
  ```

* 创建分支，在当前所在分支基础上创建新分支
  ```
  $ git branch 分支名称
  ```

* 切换分支
  ```
  $ git checkout 分支名称
  ```

* 将本地创建分支提交到远程仓库
  ```
  $ git push --set-upstream origin 分支名称
  ```

* 分支合并
  ```
  $ git merge 需要合并的分支名称
  ```
  比如想把dev分支合并到master分支，则在master分支下面执行：
  ``` 
  $ git merge dev
  ```

* tag创建
  ```
  $ git tag -a 版本号 -m 备注
  ```

* tag提交
  ```
  $ git push origin tag版本号
  ```

* tag查看
  ```
  $ git tag
  ```

* git提交记录查看
  ```
  $ git log
  ```