git checkout master 没有恢复我的工作目录,它仍然显示来自分支的更改

git checkout master isn't reverting my working directory, it's still showing changes from the branch

我有我的 git 主分支,然后我创建了一个新分支来处理一个新的长期功能,我已经添加并提交了更改到这个新分支,并将它们推送到git枢纽。然后,我将这些更改从 git 存储库中拉到新分支的 DEV 框中。现在我想 git checkout master 这样我就可以 add/commit 一个在线修补程序。但是在我的 DEV 框(和我的工作目录)上,当我 git checkout master 时,文件系统中的文件仍然反映了我在功能分支上所做的更改。我想通过检查 master,它会将我的工作目录(和 DEV 上的目录)恢复到它在 master 分支中的方式,但它似乎并没有这样做。我已经在 GitHub 中验证了新功能更改在新分支中,并且我已经通过 GitHub 验证了 master 没有这些更改并且是我离开它的方式。

是否还有其他步骤(除了 git checkout master)我必须更改 DEV 框和我的工作目录中的文件以反映 master 分支中的内容?我也试过 git pull origin master,但没有成功。

当我做 git status 时,它说我在 master 上,它还说“你的分支比 'origin/master' 领先 12 次提交”。

我一直在使用这个网站并遵循它的命令: https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging ...但它似乎并没有将我的工作目录恢复到我的功能提交之前的状态。

非常感谢任何帮助,谢谢。

听起来您在开发该功能时提交了本地 master 分支,因此它现在领先于远程服务器。要结帐 origin/master,您应该使用:

git checkout origin/master -B master

部分 origin/master 表示您正在从远程签出 master 分支,-B master 表示本地主节点应该更新到点 origin/master