>[success] # git 基本指令
1. `git clone`: 克隆远程代码到本地
* `git clone xxxx` 具体仓库克隆下来代码,文件夹名词就是当前对应仓库
* `git clone xxxx 本地自定义项目名`,克隆下的代码根目录文件名为自定义
2. `git pull` : 拉取远程代码到本地
3. `git status` :查看当前 `git` 状态
* **Untracked files(未跟踪的文件)**,未跟踪的文件意味着 Git 在之前的提交中没有这些文件,Git 不会自动将之纳入跟踪范围需要手动将文件纳入追踪状态
* 加简洁的状态信息`git status –s` 或 `git status --short`
![](https://img.kancloud.cn/57/98/57986ec4e125f32e1b54e0d902127670_555x188.png)
![](https://img.kancloud.cn/82/b7/82b73e9028639dfc1bfff38ca4237447_157x39.png)
4. `git add`:开始跟踪一个文件(将文件放入到暂存区中)
* `git add 文件名` 放入指定文件到暂存区
* `git add .` 直接把工作目录下的所有改动全部放进暂存区
* add也支持匹配表达式,如```add \*.java```
5. `git commit`:文件更新提交 将暂存区文件提交到本地仓库
* `git commit –m "提交信息"` 添加提交信息提交
* `git commit` 通过vi 编译器编写备注内容
* `git commit -a -m "修改了bbb文件"`,能提交修改过,但是没有添加到缓存区的文件(修改过的就能提交)也就是不用先执行 `git add`
6. `git push` : 提交本地代码到远程
7. `git log`: 产看提交日志
* `git log` 查看历史提交的日志
* `git log --oneline` 可以看到简洁版的日志
![](https://img.kancloud.cn/39/cf/39cffb53ec54e1abab689905887ae76f_467x360.png)
* `git log --graph` 图形状的日志
![](https://img.kancloud.cn/1f/82/1f8259df4616ece84ff12e0a98c895a9_920x499.png)
* `git log --all --graph --oneline` 图形状的日志简洁版(all 查看所有分支)
![](https://img.kancloud.cn/c6/71/c671b7ffcb771afd1f0ebad9fc9360f1_527x221.png)
* `git log -p` 是`--patch`的缩写,通过`-p`参数,你可以看到具体每个`commit`的改动细节
![](https://img.kancloud.cn/eb/37/eb375866437b58cb03cc9c9dfb7a2ee0_600x245.png)
8. `git show xxx`,xxx 是 `commit` 号 可以查看某次提交的具体更改,入股忽略xxx 即为当前`commit`(`git show 5e68b0d8 具体一个文件
`)
![](https://img.kancloud.cn/34/64/34648c3374b8059087ec3a9635f193d5_672x422.png)
>[danger] ##### 比较区域差异指令
1. `git diff --staged` -- 可以显示输入`git commit`,你将会提交什么
2. `git diff` -- 可以显示**工作目录**和**暂存区**之间的**不同**,也就是执行`git add . `
3. `git diff HEAD` -- 比对工作目录和上一条提交
![](https://img.kancloud.cn/6f/f4/6ff42a7aca404db86841c45ee4c7eb34_386x133.png)
>[danger] ##### git pull 说明
**从远程仓库fetch代码:从远程仓库获取最新的代码**,默认情况下是从`origin`中获取代码;`git fetch`默认情况下是从`origin`中获取代码`git fetch origin`,获取到代码后默认并没有合并到本地仓库,我们需要通过`merge`来合并 `git merge` 实际上` git pull` 等于`git fetch + git merge(rebase)`
>[success] # 指令速查
![](https://img.kancloud.cn/eb/08/eb089ddf763df09dbcca152490be78cd_1268x702.png)