git - `git checkout` 未重置文件

标签 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 期间却无法识别该文件?

最佳答案

如果您已在本地修改文件并将其暂存,则需要执行 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/

相关文章:

git - 以下git配置有什么区别

git - 如何对 git 分支输出进行版本排序(与通常的字母/字典排序相比)

git - 无法将 'core.repositoryformatversion' 设置为 '0'

GitHub 工作流程 : Should each developer have their own fork?

git - 只将最后 n 次提交移至其他分支

GIT - 使用来自所有分支的最新版本的文件

git - 在 git 中切换分支 - 我什么时候会得到 "You have local changes cannot switch branches."?

Git:如何从远程原始主机更新/ checkout 单个文件?

git - git-stash 和 git-checkout 有什么区别?

git - pull 请求和分支有什么区别?