`git checkout`不重置文件

时间:2019-11-19 17:36:36

标签: git git-branch git-checkout

这是我的情况。我在分支my_branch上,不小心修改了一个文件(并进行了这些更改),并希望将此文件重置为在master上的状态。但是,如果我使用git checkout这样做,则会收到错误消息(有关详细信息,请参见下文)。

$ git branch
* my_branch
  master

$ git fetch origin master
From [MY REMOTE]
 * branch            master     -> FETCH_HEAD

$ git status
modified:   my_folder/my_file.py

$ git checkout origin/master -- my_folder/my_file.py
error: pathspec 'my_folder/my_file.py' did not match any file(s) known to git.

我应该如何使用git checkout?是什么导致git在git status中将此文件列为“已修改”,但表示在git checkout期间无法识别该文件?

1 个答案:

答案 0 :(得分:2)

如果您已在本地修改文件并暂存了文件,则需要执行git restore --staged my_folder/my_file.py来取消暂存该文件。

在不再暂存文件之后,您可以执行git restore my_folder/my_file.py放弃所有更改。