Git 指令教程
新手零基础也能直接上手,覆盖日常开发全场景,看完即可实操,建议收藏备查,再也不怕遗忘 Git 指令
一、核心概念
三个区域
工作区 ──add──→ 暂存区 ──commit──→ 本地仓库 ──push──→ 远程仓库
(你写的文件) (准备提交) (提交历史) (Gitee/GitHub)
| 工作区 | 你正在写的代码文件 | — |
| 暂存区 | 打勾选中哪些文件要提交 | git add |
| 本地仓库 | 提交历史都存在这 | git commit |
| 远程仓库 | Gitee/GitHub 上的仓库 | git push / git pull |
四个状态
Untracked → 新文件,Git 不跟踪
Modified → 已跟踪的文件被修改了
Staged → 已 add,准备提交
Committed → 已 commit,记录到本地仓库
二、第一次用(克隆项目)
# 把远程仓库复制到本地
git clone <仓库地址> <文件夹名>
# 例子
git clone https://gitee.com/WangShiCheng05/Personal.git MyProject
cd MyProject
三、日常开发流程
每天开始写代码前
# 先拉取最新代码
git pull
写完代码后
# 1. 查看改了哪些文件
git status
# 2. 添加文件到暂存区
git add . # 添加所有修改的文件
git add src/User.java # 或者只添加某个文件
# 3. 提交到本地仓库
git commit -m "本次修改的说明"
# 4. 推送到远程仓库
git push
一句话总结
打开项目 → git pull → 写代码 → git add . → git commit -m "xxx" → git push
四、常用命令速查
查看状态
| git status | 查看哪些文件修改了、哪些暂存了 |
| git log | 查看提交历史 |
| git log –oneline | 提交历史(简洁版,一行一个) |
| git diff | 查看具体改了什么内容 |
添加 & 提交
| git add . | 添加所有修改到暂存区 |
| git add 文件名 | 添加指定文件 |
| git commit -m "说明" | 提交到本地仓库 |
| git commit -am "说明" | add + commit 一步完成(仅对已跟踪的文件) |
推送 & 拉取
| git push | 推送本地提交到远程 |
| git push -u origin master | 首次推送,设置上游分支 |
| git pull | 拉取远程最新代码并合并 |
| git fetch | 只拉取,不合并 |
分支
| git branch | 查看本地分支 |
| git branch 分支名 | 创建新分支 |
| git switch 分支名 | 切换到某个分支 |
| git switch -c 分支名 | 创建并切换到新分支 |
| git merge 分支名 | 把指定分支合并到当前分支 |
| git branch -d 分支名 | 删除分支 |
撤销 & 回退
| git restore 文件名 | 撤销工作区的修改(还没 add 的) |
| git restore –staged 文件名 | 取消暂存(add 了但没 commit) |
| git reset –soft HEAD~1 | 撤销最近一次 commit,修改回到暂存区 |
| git reset –hard HEAD~1 | 撤销最近一次 commit,修改直接丢弃 |
五、常见场景
场景1:忘记 pull 就写了代码
# 先把你写的暂存起来
git stash
# 拉取最新代码
git pull
# 把你的代码还原回来
git stash pop
场景2:提交信息写错了
# 修改最近一次 commit 的信息
git commit –amend -m "新的提交说明"
场景3:提交漏了文件
# 把漏掉的文件加进来,合并到上一次提交
git add 漏掉的文件
git commit –amend –no-edit
场景4:冲突了怎么办
git pull 时提示 CONFLICT 表示你和别人改了同一行代码
IDEA 里会标红,让你选:
– Accept Yours → 保留你的
– Accept Theirs → 保留别人的
– Merge → 两个都要
选完后:
git add .
git commit -m "解决冲突"
git push
场景5:push 被拒绝
# 说明别人已经 push 了新代码,你落后了
# 先拉取合并,再推送
git pull
git push
场景6:想扔掉所有修改,回到远程最新版本
git fetch # 拉取最新
git reset –hard origin/master # 强制回到远程版本(你本地的修改全丢)
六、.gitignore 文件
不想提交的文件(编译产物、配置、日志等)写入 .gitignore:
# Maven
target/
# IDEA
.idea/
*.iml
# 系统文件
.DS_Store
Thumbs.db
# 配置文件(有密码的不提交)
application-local.properties
.env
七、协作流程
Gitee 远程仓库
┌─────────────────┐
│ master 分支 │
│ A → B → C → D │
└────────┬────────┘
│
┌───────────────┼───────────────┐
│ pull/push │ │ pull/push
┌────▼────┐ ┌─────▼────┐ ┌─────▼────┐
│ 你的电脑 │ │ 小明的电脑│ │ 小红的电脑│
└─────────┘ └──────────┘ └──────────┘
每个人:
1. git pull 拉最新
2. 写代码
3. git add → git commit → git push
4. 重复
八、快速记忆
| 第一天拿到项目 | git clone 地址 文件夹 |
| 每天开始工作 | git pull |
| 查看改了什么 | git status |
| 添加要提交的文件 | git add . |
| 本地保存 | git commit -m "说明" |
| 上传到远程 | git push |
| 查看提交记录 | git log –oneline |
| 开新功能 | git switch -c 新分支名 |
| 合并分支 | git merge 分支名 |



