0Pricing
DevOps Bootcamp · 课时

在本地撤销更改

学习撤销或重置本地更改的多种方法,包括取消文件暂存和修改之前的提交。

在本地撤销更改 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

糟糕!撤销本地更改

您是否曾在处理项目时犯过错误或改变想法?别担心,任何人都会遇到这种情况!

Git 提供了强大的工具来撤销本地仓库中的更改。本课将向您展示如何安全地还原不需要的修改。

始终从 `git status` 开始

在撤销任何内容之前,了解仓库的当前状态至关重要。git status 命令是您的最佳帮手。

它会告诉您哪些文件已修改、已暂存(准备提交)或未跟踪。

git status

取消暂存已暂存的文件

有时您会使用 git add 将文件添加到暂存区,但随后意识到不想在下一次提交中包含它。

您可以使用 git restore --staged <file> 将其“取消暂存”,使其恢复为已修改(未暂存)状态。

git add my_feature.js
git status
git restore --staged my_feature.js
git status

丢弃工作目录中的文件更改

如果您修改了工作目录中的文件,但尚未将其暂存,现在又想完全丢弃这些更改,该怎么办?

git restore <file> 命令会将该文件还原到上一次提交时的状态,从而删除您的本地修改。

echo "new content" > index.html
git status
git restore index.html
git status

丢弃所有未提交的更改

使用此命令时请务必小心! 如果您想丢弃工作目录中尚未提交的所有更改,可以使用 git restore .

这会将当前目录及其子目录中的所有已修改文件还原到上一次提交时的状态。未暂存的文件将会丢失!

echo "change 1" > file1.txt
echo "change 2" > file2.txt
git status
git restore .
git status

修改上一次提交信息

您是否在上一次提交信息中写错了内容?是否忘记提及重要细节?

您可以使用 git commit --amend 修改(编辑)最近一次提交的信息。此命令会打开默认文本编辑器,让您修改提交信息。

git commit --amend -m "Updated commit message with fix"

修改提交以添加遗漏的文件

忘记在上一次提交中包含某个文件?没问题!

使用 git add 暂存遗漏的文件,然后使用 git commit --amend --no-edit。这样会将已暂存的文件添加到上一次提交中,同时不更改其提交信息。

git add new_script.py
git commit --amend --no-edit

为何优先使用 `git restore`

您可能会遇到一些较旧的指南,它们建议使用 git reset HEAD <file> 取消暂存,或使用 git checkout -- <file> 丢弃更改。

虽然这些方法都能奏效,但 git restore 是更新且更直观的命令,专门用于让这些操作更加清晰、安全。它就是为撤销更改而设计的。

综合运用:一个场景

假设您修改了 config.json,将其暂存后,意识到自己犯了错误,并想完全丢弃这次更改。

  • 首先,取消暂存。
  • 然后,将其还原到上一次提交的版本。
echo "bad config" > config.json
git add config.json
git status
git restore --staged config.json
git restore config.json
git status

快速检查:撤销更改

您修改了工作目录中的 data.csv,但尚未暂存这些更改。您决定完全丢弃这些修改,并将 data.csv 还原到上一次提交时的状态。

回顾:掌握撤销操作

做得很好!您已经学会了如何在 Git 中安全地撤销本地更改:

  • 使用 git status 查看当前更改。
  • 使用 git restore --staged <file> 取消文件的暂存。
  • 使用 git restore <file> 丢弃某个文件的工作目录更改。
  • 使用 git restore . 丢弃所有未暂存的工作目录更改(请谨慎使用!)。
  • 使用 git commit --amend 修正上一次提交信息或添加遗漏的文件。

这些命令对于维护整洁、准确的项目历史记录至关重要!

常见问题解答

「在本地撤销更改」课时是免费的吗?

是的 — 「在本地撤销更改」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「在本地撤销更改」这节课中我会学到什么?

学习撤销或重置本地更改的多种方法,包括取消文件暂存和修改之前的提交。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「在本地撤销更改」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 暂存、提交与历史记录
  2. 在本地撤销更改
  3. 分支与合并基础
  4. 暂存进行中的工作
← 返回 DevOps Bootcamp