企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>[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)