版本回退

Git 教程 · 第 6 章 · 7 次浏览

改错了怎么办?Git 提供了完整的后悔药:撤销工作区、撤销暂存、回退提交。记住这些命令,出问题不慌。

撤销场景

  • 工作区改乱了:git restore 文件 丢弃工作区改动
  • add 错了:git restore --staged 文件 取消暂存
  • 提交错了:git reset --soft HEAD~1 撤回提交保留改动
  • 彻底回退:git reset --hard 提交号 回到某个版本(危险,会丢改动)
  • 已推送:git revert 提交号 生成反向提交(安全)

代码示例

# 丢弃工作区改动
git restore index.html

# 取消暂存(保留改动)
git restore --staged index.html

# 撤回上一次提交(保留改动重新提交)
git reset --soft HEAD~1

# 回退到指定提交(丢弃之后所有改动,危险!)
git reset --hard 3f2a1b9

# 已推送的错误提交,用 revert(生成反向提交,不丢历史)
git revert 3f2a1b9

# 查看所有操作记录(含已删除分支)
git reflog
📚 Shell 命令速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
写法 / 语法作用
ls / ls -la列出文件(-la 显示隐藏和详情)
cd 目录切换目录
pwd显示当前目录
mkdir -p 目录创建目录(-p 自动建父级)
touch 文件创建空文件
cp -r 源 目标复制(-r 递归复制目录)
mv 源 目标移动 / 重命名
rm -rf 目录删除(危险,慎用)
cat 文件查看文件内容
less 文件分页查看文件(q 退出)
grep "关键词" 文件按关键词搜索
find . -name "*.php"按名称查找文件
chmod 755 文件修改权限
ps aux查看进程
kill 进程号结束进程
top实时资源监控
df -h / free -m磁盘 / 内存占用
tar -czf a.tar.gz 目录打包压缩
tar -xzf a.tar.gz解压
curl 网址请求网址(测试接口)
wget 网址下载文件
ssh 用户@主机远程登录
scp 文件 用户@主机:/路径远程传文件
sudo 命令以管理员执行
crontab -e编辑定时任务