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 复制代码
在哪个目录
在哪个分支
工作区是否干净
远程地址是否正确
本地和远程历史是否一致
相关推荐
专注API从业者3 小时前
告别复杂页面解析,OpenClaw 快速搭建电商商品监控与数据分析脚本
大数据·数据库·python·数据挖掘·数据分析
楚楚2513 小时前
2026企业AI办公工具选型指南:从需求匹配到平台评估
大数据·人工智能
SelectDB3 小时前
Apache Doris x Fluss:面向湖流一体的统一查询与分析
大数据·数据库·数据分析
论文复现现场3 小时前
金融大模型微调需要几张 RTX 4090?QLoRA 配置、工期估算与断点续训
大数据·金融·大模型·分布式训练·模型微调·qlora·rtx4090
阿乔外贸日记4 小时前
全球电子产业高度集中:中、韩、日和中国台湾地区占全球数字硬件产能八成
大数据·服务器·人工智能·物联网·云计算
飞飞传输4 小时前
业务系统文件安全检测怎么做?生物医药企业选型与建设指南
大数据·运维·安全
屹立芯创ELEADTECH4 小时前
先进封装RDL制程中的Build-up Film:关键应用、工艺挑战与发展趋势
大数据·人工智能·microsoft
starzy19905 小时前
Flink JobManager启动流程源码深度剖析:从ClusterEntrypoint到JobMaster启动的完整链路
大数据·flink
阿明副业观察5 小时前
AI视频生成工具功能与作用全面解析:赋能高效内容创作
大数据·人工智能·aigc·音视频·ai写作
2601_967212725 小时前
电源轨道系统技术实力评估维度与选型技术框架
大数据·经验分享