Git速查命令

1. 状态检查

bash 复制代码
git status
git diff
git diff --cached
git log --oneline --graph --decorate --all
git branch -vv
git remote -v

常用顺序:

text 复制代码
先看状态
再看 diff
最后决定 add、commit、pull、push 或回退

2. 本地提交流程

bash 复制代码
git status
git diff
git add README.md
git diff --cached
git commit -m "docs(git): update note"

提交后推送:

bash 复制代码
git push

第一次推送新分支:

bash 复制代码
git push -u origin feature/xxx

3. 分支操作

bash 复制代码
git branch
git branch -a
git checkout -b feature/xxx
git switch -c feature/xxx
git checkout main
git switch main
git branch -d feature/xxx
git push origin --delete feature/xxx

查看分支和 upstream:

bash 复制代码
git branch -vv

4. 远程仓库

bash 复制代码
git remote -v
git remote add origin git@github.com:username/repo.git
git remote set-url origin git@github.com:username/repo.git
git fetch origin
git pull
git push

SSH 测试:

bash 复制代码
ssh -T git@github.com

5. merge、rebase、pull

合并功能分支:

bash 复制代码
git checkout main
git pull
git merge feature/xxx
git push

让功能分支跟上 main:

bash 复制代码
git checkout feature/xxx
git fetch origin
git rebase origin/main

pull 本质:

text 复制代码
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase

6. 撤销和回退

撤销工作区修改:

bash 复制代码
git restore README.md
git restore .

取消暂存:

bash 复制代码
git restore --staged README.md

修改最近一次 commit:

bash 复制代码
git commit --amend -m "docs(git): update message"

回退本地提交:

bash 复制代码
git reset --soft HEAD~1
git reset --mixed HEAD~1
git reset --hard HEAD~1

撤销已经公开的提交:

bash 复制代码
git revert <commit-hash>

清理未跟踪文件前先预览:

bash 复制代码
git clean -n
git clean -f

7. 冲突处理

merge 冲突:

bash 复制代码
git status
# 手动修改冲突文件
git add <file>
git commit

rebase 冲突:

bash 复制代码
git status
# 手动修改冲突文件
git add <file>
git rebase --continue

取消操作:

bash 复制代码
git merge --abort
git rebase --abort

8. .gitignore

常见规则:

gitignore 复制代码
build/
cmake-build-*/
*.o
*.log
.env
.vscode/
.idea/

已经被 Git 跟踪的文件,单独写入 .gitignore 不会自动失效。

需要:

bash 复制代码
git rm --cached path/to/file

排查忽略规则:

bash 复制代码
git check-ignore -v path/to/file

9. commit message

推荐格式:

text 复制代码
<type>(<scope>): <summary>

常见例子:

text 复制代码
feat(redis): add RESP array parser
fix(http): handle keep-alive timeout
docs(git): add rollback note
refactor(net): simplify event loop cleanup
test(parser): cover invalid bulk string
chore(cmake): enable compile warnings

10. 常见错误入口

text 复制代码
not a git repository
当前目录不是 Git 仓库,先 pwd 和 ls -la

remote origin already exists
origin 已存在,用 git remote -v 查看,用 set-url 修改

Permission denied (publickey)
SSH 没配好或权限不对,先 ssh -T git@github.com

failed to push some refs / non-fast-forward
远程有本地没有的提交,先 fetch,再 merge 或 rebase

Your local changes would be overwritten
工作区有未提交修改,先 commit、stash 或 restore

detached HEAD
当前站在 commit 上,不在分支上,需要保留就 switch -c 新分支

11. 排查命令

bash 复制代码
pwd
git status
git branch -vv
git remote -v
git log --oneline --graph --decorate --all

先看清楚:

text 复制代码
在哪个目录
在哪个分支
工作区是否干净
远程地址是否正确
本地和远程历史是否一致
相关推荐
RoboWizard4 小时前
三星和金士顿内存条哪个更适合游戏超频
大数据·人工智能
深圳市恒星物联科技有限公司5 小时前
轻量MCU设备通过OpenHarmony兼容性测评的全流程关键要点与实战踩坑经验
大数据·人工智能·物联网·鸿蒙
TDengine (老段)5 小时前
TDengine 常见问题 TOP3
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Flynt6 小时前
HN 382分热文里的终端小技巧,我实测了一遍,git pickaxe 最值
git·命令行
Leo.yuan7 小时前
盘点2026十大主流国产数据仓库软件:从开源到商业,企业级怎么选?
大数据
长谷深风1117 小时前
评测AI Agent:三种裁判各司其职
java·大数据·开发语言·人工智能·ai agent
大大大大晴天8 小时前
元数据之后,数据治理该做什么:标准、指标与主数据
大数据
移动云开发者联盟9 小时前
AI重塑短剧生产!移动云×咪咕 AIGC内容创作平台正式发布
大数据·人工智能
其实防守也摸鱼10 小时前
Codex 下载与本地部署实战:从安装到运行全指南
android·大数据·运维·安全·自动化
shujudang11 小时前
零售客户分析平台的四种路径:身份关联、分析模型与系统对接
大数据·人工智能·数据分析