git版本给大家提供了方便的代码版本管理,但是同时也出现了一些问题:git是团队成员人人都使用的工具,如果出现有一个人无视git工具或者IDE的提醒直接把对方代码覆盖提交的git库,而且是过了一两天左右才发现,此时git库中已经有了其它的git commit了,这样就悲剧了,但是总归是要解决这样的坑的。解决思路大致就是回退到以前版本,可分两种:(都属于危险操作,以dev开发中出现这样的坑为例,如果是在master分支操作就自求多福吧。。)
1.(亲测)大致思路:在本地直接把远程的dev分支删除,然后再把版本回退reset后的dev分支内容push上去
具体步骤:
1)git branch old_dev 新建old_dev分支作为dev分支备份
2)git push origin old_dev 推送到远程仓库
3)git reset --hard bae168 本地仓库dev分支回退到bae168版本
4)git branch -d -r origin/dev删除远程的dev分支
5) git push origin dev 推送回退过的本地分支到远程库中
后续就是回退版本到出错发现期间提交的copy和overwrite了
2.(未亲测,原因大多数人估计都没有直接运行远程库的权限)
直接在远程server的仓库目录下,执行git reset --soft bae168来回退(在远程不能使用mixed或hard参数)