如何撤销将文件恢复至master分支状态的Git checkout操作?
撤销
git checkout origin/master [filename]操作的方法 情况1:文件仅在工作区被修改(未执行git add)
直接用当前分支的最新版本覆盖刚才从远程master拉取的版本:
git checkout HEAD -- [filename]
HEAD指向你当前所在分支的最新提交,执行后文件就会回到你执行错误checkout命令之前的状态(前提是之前的状态已提交到当前分支)。
情况2:已执行git add将修改暂存
先撤销暂存操作,再恢复文件:
git reset HEAD -- [filename] git checkout HEAD -- [filename]
第一步把暂存区的修改撤回到工作区,第二步再用当前分支的版本覆盖工作区文件。
注意事项
如果在执行错误的checkout命令前,你对该文件有未提交且未被Git跟踪的本地修改,这些修改已经被覆盖,Git无法帮你恢复,只能依靠本地文件备份或编辑器历史记录找回。
内容的提问来源于stack exchange,提问作者intransigent_rocker
相关产品推荐
相关产品推荐

