如果问题只是您的签出文件与分支不匹配,只需git reset正常使用:
git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)
这应该就是你所需要的.但是,如果您仍想使用dev覆盖master,请继续阅读.
如果要使用dev分支的内容覆盖master分支,请使用git reset如下:
$ git checkout master
$ git reset --hard dev
Run Code Online (Sandbox Code Playgroud)
如果你想把它推到别的地方:
$ git push origin master
Run Code Online (Sandbox Code Playgroud)
请注意,如果您的开发分支没有从您的主分支快进(我猜它不会,因为您说您的主分支中有一些搞砸的内容),您需要添加--force标记为在远程上覆盖它的推送:
$ git push origin master --force
Run Code Online (Sandbox Code Playgroud)
但请注意,这可能涉及重写历史记录的所有常规注意事项git rebase- 如果有其他人使用此遥控器,他们将需要处理相当于上游的rebase.
为了避免将来出现此问题,建议你的朋友,使用--force几乎从来没有必要的.如果他们在尝试时遇到冲突git push,他们应git pull首先解决冲突,然后再解决冲突git push.