在 Git 中把文件重置为与主分支相同的状态
Ashok Chapagai
2023年1月30日
2022年4月22日
假设 master
分支中有一个重要的文件不应该被编辑,但是可惜它已经在 dev
分支中被编辑和提交了好几次。现在你要放弃对文件所做的所有更改并将其状态更改为与 master
分支中的相同。有一种简单的方法可以轻松实现这一目标。
在 Git 中把文件重置为 master
分支
以下语法会将所选文件恢复为与 master 分支中的文件相同。
git checkout master -- <filename>
在这里,--
告诉 git,--
后面的文本应该被解释为文件名,而不是分支名称或其他任何东西。
一旦命令运行,新重置文件中的内容之间的差异将被缓存。要查看重置了哪些更改,你可以运行以下命令来查看差异,
git diff --cached
在 Git 中将文件重置为特定提交
可能会出现另一种情况,就像你要将特定文件重置为特定提交一样。为此,你可以看到文件的两个版本之间的更改,如下所示。
git diff <commit_hash> <filename>
在这里,commit_hash
是你想要将更改与文件的当前版本进行比较的提交。现在你确定要重置的更改,你可以将特定文件重置为提交哈希中的版本,如下所示,
git reset <commit_hash> <filename>
实现相同任务的另一种方法是,
git checkout <commit_hash> <filename>
这也有助于实现相同的结果。
Author: Ashok Chapagai