我有我的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
点。