SONUB 首页 ZH English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

如何开启通知

此浏览器或网址无法使用通知。请使用支持通知的浏览器,通过安全连接访问SONUB。

如果通知被屏蔽,请在浏览器设置中允许通知。

  1. 打开地址栏旁的站点设置或浏览器的站点设置,将此网站的通知设为允许。
  2. 在设备设置中允许浏览器发送通知,并检查勿扰模式或专注模式。
  3. 返回SONUB,刷新页面,然后通过铃铛开启通知。

在iPhone或iPad上,将SONUB添加到主屏幕,从主屏幕打开后允许通知。

返回全部步骤
第 4 步

撤销与忽略

撤销用什么,取决于改动已经走到哪一步。分清 restore、reset、revert,就是这一步的全部要点。

学习目标

  • 能安全丢掉还没的改动
  • 能安全地撤销已经推出去的提交
  • 用 把构建产物和密钥挡在之外

撤销用哪个,看改动已经走到哪一步。还没提交,用 git restore;提交了但还没推,用 git reset;已经、别人也拉过了,用 git revert。三者搞混就会毁掉别人的历史,所以先用 git status 确认自己站在哪一步,这个习惯要养成。

三样工具并排摆着:一块正在擦铅笔印的橡皮,一个指针倒着转的时钟,还有一页贴着更正贴纸、压在旧页上面的新页。
restore 擦掉还没提交的改动,reset 把你自己的提交往回拨,revert 加一个新提交来抵消旧提交。

git reset 有三种:--soft 只撤销提交、改动留在;默认的 --mixed 连暂存也一并撤下;--hard 连文件内容都还原。--hard 是真的会删掉你的成果,回车之前务必再读一遍。就算真手滑了也别马上放弃——git reflog 里往往还留着那个提交。

构建产物、node_modules、.env 这类密钥文件绝不能进仓库。在项目根目录放一个 .gitignore 写好规则, 就完全不看这些路径了。要注意:已经提交过的文件,再往 .gitignore 里加也照样被跟踪。这时得先用 git rm --cached 取消跟踪再提交;而如果密码已经推上去了,它会一直留在历史里,必须把那个密钥作废重发。

轻松理解

三种情况,三样工具。restore 是橡皮擦,擦掉还没提交的改动。reset 把时钟往回拨,用在还没人拿到的、你自己的提交上。revert 写一页新的来抵消旧的一页——别人已经拿到历史之后,这才是安全的做法。

本步骤要掌握的命令

别光用眼睛看,去里真敲一遍。手记住了,工作时才使得出来。

git restore <file>
丢掉某个文件还没提交的改动,回到最近一次提交的样子。
git reset --soft HEAD~1
撤销最近一次提交,但把改动留在暂存区——改提交信息常用这招。
git revert <commit>
新建一个提交把那次改动反做回去。不改写历史,所以在共享上很安全。
git diff --staged
提交前先审一遍暂存了什么。把它变成每次提交前的固定动作。

常见错误和改正方法

想撤销却用了 git reset --hard,把从没提交过的成果弄丢了。这些成果再也找不回来。撤销任何东西之前,先运行 git status,没做完的活儿先用 git stash 存起来。

这一栏由你自己标记,这里不打分。

要把这一阶段标记为已理解吗?

目前还不能取消,请在真正理解后再标记。

已标记为理解

这一栏由你自己标记,这里不打分。