Git 如何撤销已暂存/未暂存修改文件?Git 2.16版本操作咨询
Git撤销已暂存或未暂存修改的完整指南
咱们把这事掰扯清楚——Git的撤销命令一开始确实容易搞混,但搞懂什么时候用哪个就简单了。咱们一步步来解答你的问题:
一、撤销未暂存的修改(文件还没执行git add)
如果你已经修改了文件但还没暂存(执行git status时会显示在「未暂存的变更」板块),可以这样回滚:
单个文件恢复(Git 2.16及所有版本通用): 执行以下命令,就能把指定文件恢复到上一次提交时的状态:
git checkout -- <你的文件名>举个例子,如果你改坏了
README.md,就输入git checkout -- README.md。注意:这个操作会直接丢弃该文件所有未提交、未暂存的修改,执行前一定要确认这些修改不需要保留!所有未暂存文件恢复: 如果你想一次性撤销仓库里所有未暂存的修改,可以用:
git checkout .友情提示:这是个“一刀切”的操作,执行前务必确认没有需要保留的修改!
二、撤销已暂存的修改(文件已经执行git add)
如果你已经把文件暂存了(执行git status时显示在「要提交的变更」板块),需要分两步操作(也可以合并成一条命令直接完成撤销暂存+恢复文件):
第一步:撤销暂存(把文件放回工作区)
要撤销单个文件的暂存状态,同时保留修改内容(只是从暂存区放回工作区),执行:git reset HEAD <你的文件名>如果要撤销所有暂存文件,直接用
git reset HEAD(不用加文件名)。这时候文件的修改还在,只是回到了git add之前的状态。第二步:彻底恢复文件到原始状态(可选)
如果撤销暂存后,你想彻底丢弃这些修改,就用之前的checkout命令:git checkout -- <你的文件名>要是想一步到位,直接撤销暂存并恢复文件,可以把两条命令合并:
git reset HEAD <你的文件名> && git checkout -- <你的文件名>
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

