您的位置:首页 > 编程语言

github版本回退

2016-07-06 23:43 274 查看
碰到了如下情形:

clone了别人的仓库,然后直接在master分支上做了很多commit,现在发现对方版本里有个bug,怎样才能只提交这个修复bug的commit,而不提交前面的commit?

最后我是这么做的。

1. 新建分支,用来保存当前自己的commit。

2. 在本地,
git reset --hard cm
,cm里填你第一次clone的时候的版本。

3. 删掉远程仓库的master分支,这里你可以直接在web上操作,将默认仓库设置成刚刚新建的那个,然后就能删除了。也可以用
git push origin :master
,不过这个方法会提示错误,而且我尝试解决未果,于是选择了前一种方法,反正也挺简单。

4. 删除完以后,将刚刚reset了的本地结果,
git push origin master
,这样会自动在远程仓库建立一个新的master,而且内容跟你刚clone下来的时候是一样的。

5. 这时候,就可以修补bug,然后commit,提PR了。

所以啊,最好不要在master上直接动手脚,要干什么事情,都新建一个分支。所以第5步也不该这么做,更好的方法是基于master版本新建个bug分支。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  github