git 结帐大师没有恢复我的工作目录,它仍然显示来自分支的更改



我有我的git主分支,然后我创建了一个新的分支来处理一个新的,长期的功能,我已经添加并提交了这个新分支的更改,并将它们推送到github。然后,我将这些更改从git存储库从新分支拉到我的DEV机器上。现在我想要git checkout master,所以我可以添加/提交一行热修复。但是在我的DEV机器(以及我的工作目录)上,当我执行git checkout master时,文件系统中的文件仍然反映了我在特性分支上所做的更改。我认为通过检查主,它会恢复我的工作目录(和DEV上的目录)回到它在主分支中的方式,但它似乎没有这样做。我已经在GitHub中验证了新功能更改在新分支中,并且我已经通过GitHub验证了主版本没有这些更改,并且是我离开它的方式。

是否有另一个步骤(除了git checkout master),我必须改变DEV盒上的文件和我的工作目录,以反映主分支中的内容?我也试过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点。

最新更新