以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结,按操作场景分类整理:
一、初始化与基础操作
操作 |
命令 |
初始化仓库 |
git init |
添加所有文件到暂存区 |
git add . |
提交到本地仓库 |
git commit -m "提交描述" |
首次提交需配置身份 |
git config user.name "用户名" git config user.email "邮箱" |
二、查看操作记录
场景 |
命令 |
查看完整提交历史 |
git log |
简洁版提交历史(推荐) |
git log --oneline |
查看所有操作记录(含删除) |
git reflog |
三、撤回操作(核心场景)
1. 未提交的修改
场景 |
命令 |
丢弃工作区单个文件的修改 |
git checkout -- 文件名 |
丢弃所有未暂存的修改 |
git checkout -- . |
撤销暂存区的文件(保留修改) |
git reset HEAD 文件名 |
2. 已提交的版本
场景 |
命令 |
撤销最近提交(保留修改) |
git reset --soft HEAD^ |
彻底回退到上一版本 |
git reset --hard HEAD^ |
回退到指定版本 |
git reset --hard <commit_id> |
回退到前 N 个版本 |
git reset --hard HEAD~N |
3. 已推送到远程
场景 |
命令 |
安全撤回(推荐) |
git revert <commit_id> |
强制覆盖远程(慎用!) |
git reset --hard HEAD^ git push -f origin 分支名 |
四、操作流程图解
复制代码
工作区 → `git add` → 暂存区 → `git commit` → 本地仓库 → `git push` → 远程仓库
撤回方向:
revert/push -f reset--hard reset HEAD checkout -- 远程仓库 本地仓库 暂存区 工作区 丢弃修改
五、黄金法则
- 操作前查记录 :执行撤回前先用
git log --oneline
确认目标版本
- 硬重置需谨慎 :
--hard
会永久丢弃代码,确保已备份
- 团队协作原则 :
- 已推送的提交用
git revert
代替 reset
- 避免强制推送 (
push -f
) 除非是私有分支
💡 终极安全建议 :重要修改前创建分支备份:
git branch backup-branch