这是我的情况。我在 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
期间却无法识别该文件?
最佳答案
如果您已在本地修改文件并将其暂存,则需要执行 git restore --staged my_folder/my_file.py
来取消暂存该文件。
文件不再暂存后,您可以执行 git Restore my_folder/my_file.py
来放弃所有更改。
关于git - `git checkout` 未重置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58939846/