git-命令速查清单

Git 命令速查清单

你动手时,把下面所有占位符换成自己的真实值即可:

  • 示例项目 → 你自己的项目名
  • your-git-username → 你的 GitHub / Gitee 用户名
  • your-email@example.com → 你的提交邮箱
  • demo-project → 你的仓库名

1. 查看状态

bash 复制代码
# 查看当前工作区状态(分支、哪些文件改了)
git status -sb

# 只看文件名(脚本用,简洁格式)
git status --porcelain

# 查看最近 3 条提交记录
git log --oneline -3

# 查看已暂存(git add 过)的文件列表
git diff --cached --name-only

# 只看暂存区里的新增(A)和修改(M)文件,排除删除(D)的
git diff --cached --name-status --diff-filter=AM

# 列出 git 正在跟踪的所有文件
git ls-files

# 查看远程仓库列表(fetch 和 push 地址)
git remote -v

2. 配置提交者身份(只改当前仓库,不动全局)

bash 复制代码
# 设当前仓库的提交者名字(--local,不影响其它仓库)
git config user.name "your-git-username"

# 设当前仓库的提交者邮箱
git config user.email "your-email@example.com"

# 查看本仓库已设的身份
git config user.name
git config user.email

# 查看全局身份(不动它)
git config --global user.name
git config --global user.email

为什么要设 local?你的全局 git 身份可能是另一个账号(比如公司内网的代码平台)。推 GitHub 时,如果想让 commit 归属 GitHub 账号(显示头像、计入贡献墙),就在这个仓库单独设 local 身份。不设也行,commit 照样能推,只是 GitHub 上显示 unknown。


3. .gitignore --- 忽略文件(不进仓库)

复制代码
# .gitignore 文件内容示例:
.env                    # 含 API key 的环境变量,绝不推
data/                   # 运行时数据(数据库、向量库等)
.workbuddy/            # 工作记忆/工具目录
.claude/               # IDE 工具目录
PROJECT.md             # 项目指令/配置说明文件
docs/                  # 文档
overview.md            # 报告文件

.gitignore 只对从未被跟踪 的文件生效。如果文件已经被 git add 过,光加进 .gitignore 没用,还得 git rm --cached 从索引移除。


4. 从 git 索引移除文件(磁盘文件保留)

bash 复制代码
# 把已跟踪的目录从 git 索引移除(磁盘文件不动)
git rm -r --cached .claude PROJECT.md docs

# --cached = 只从索引删,不删磁盘文件
# -r = 递归(目录里所有文件)

执行后这些文件状态变成 D(deleted from index),提交后它们就彻底从仓库消失了。


5. 暂存(git add)

bash 复制代码
# 暂存所有改动(新增、修改、删除一起加)
git add -A

# 只暂存某个文件
git add README.md

# 强制暂存被 .gitignore 忽略的文件
git add -f docker-compose.local.yml

# 预览将要暂存什么(不实际执行,-n = dry-run)
git add -A -n

6. 提交(git commit)

bash 复制代码
# 单行提交信息
git commit -m "feat: 添加新功能"

# 多行提交信息(标题 + 正文,用多个 -m)
git commit -m "feat: 示例项目二阶段部署" -m "详细说明..."

# 多行提交信息(heredoc 方式,适合长文本)
git commit -m "标题

正文第一行
正文第二行"

commit message 格式建议:类型: 简述。常用类型:feat(新功能)、fix(修bug)、refactor(重构)、docs(文档)、chore(杂项)。


7. 远程仓库(git remote)

bash 复制代码
# 添加一个远程仓库(代号叫 github,指向 GitHub 地址)
git remote add github https://github.com/your-git-username/demo-project.git

# 添加另一个远程仓库(代号叫 origin,指向另一个代码平台,如 Gitee)
# (这个之前已经配好了,不用重复)
git remote add origin https://gitee.com/your-git-username/demo-project.git

# 查看所有远程仓库
git remote -v

# 删除远程仓库
git remote remove github

# 修改远程仓库地址
git remote set-url github https://新地址.git

一个本地仓库可以有多个 remote。origingithub 只是代号,互不干扰,各推各的。


8. 推送(git push)

bash 复制代码
# 推送到 github 这个 remote 的 master 分支
# -u = 设置上游跟踪,以后直接 git push 就行
git push -u github master

# 以后每次推(已设过 -u)
git push

# 同时推到所有 remote
git push origin master && git push github master

# 强制推送(⚠️ 覆盖远程历史,慎用)
git push -f github master

首次 push 到 GitHub 时,会弹出认证窗口,登录你的 GitHub 账号即可。之后会缓存凭据,不用每次登录。


9. 其他常用命令

bash 复制代码
# 拉取远程更新(不合并)
git fetch github

# 拉取并合并到当前分支
git pull github master

# 查看某个文件改了什么
git diff src/app/config.py

# 查看已暂存的改动内容
git diff --cached

# 撤销暂存(从暂存区移出,改动不丢)
git restore --staged README.md

# 撤销工作区修改(⚠️ 改动会丢,未暂存的)
git restore README.md

# 查看某个 commit 改了什么
git show 5f83436

完整推送流程(从零到推完)

bash 复制代码
# 1. 设身份(local,不动全局)
git config user.name "your-git-username"
git config user.email "your-email@example.com"

# 2. 更新 .gitignore,排除敏感/非代码文件
#    (编辑 .gitignore 文件,加 .env / data/ / .claude/ 等)

# 3. 从索引移除已跟踪的排除项
git rm -r --cached .claude PROJECT.md docs

# 4. 恢复被忽略文件的跟踪(用 -f 强制)
git add -f docker-compose.local.yml

# 5. 暂存全部改动
git add -A

# 6. 提交
git commit -m "feat: 示例项目二阶段功能部署"

# 7. 添加 GitHub 远程仓库
git remote add github https://github.com/your-git-username/demo-project.git

# 8. 推送(首次会弹认证窗口)
git push -u github master

日常开发最常用 5 条

bash 复制代码
git status              # 我改了啥?
git add -A              # 全暂存
git commit -m "说明"    # 提交
git push                # 推上去
git log --oneline -5    # 最近推了啥?
相关推荐
yanlaifan12 小时前
git版本管理工具中的回车换行转换逻辑
git
小僧景贤1 天前
【零门槛入门】嵌入式新手极简 Git 上手教程
git·固件开发·嵌入式版本管理
克里斯蒂亚诺更新1 天前
云效和IDEA关于git的相通使用
git
Gavynlee1 天前
Git 操作问题排查与解决方案记录(Gitee 实战)
git·elasticsearch·gitee
邪修king1 天前
Re:Linux系统篇(十):从零上手 Git + GitHub(Ubuntu 环境实操完整版|个人代码归档必备)
linux·git·github
李可以量化1 天前
Redis 从了解到精通(三)下:性能基准测试与量化场景性能避坑指南
redis·git·python·量化交易·qmt·ptrade
青 春 记 忆1 天前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
牢姐与蒯2 天前
Linux基础开发工具之版本控制器git
git
云原生指北2 天前
Docker Sandboxes 工作区怎么接:Direct、Clone 和它们的边界
git·docker·agent