分布式版本控制系统在日常开发中使用越来越频繁,谁没经历过手一抖,不小心把错误的内容git push到远程仓库?
前几天我就遇到了,当时对git也不熟,于是各种try……终于,现在搞明白了
环境:
远程仓库fork的开发项目
分支只有master
操作:
git pull origin master (埋下祸根,把别人的commit也pull下来了)
git push self master:master
repo中merge 请求,包含别人的commit !
解决办法:
新建临时分支git checkout -b newMaster
版本退回 git reset beaforeYourCommitNum (不要用--hard哈)
git add * ;git commit - m "blabla..."
git pull --rebase origin master
git push self master:newMaster
repo中,找到setting,更改defalt branch 为 newMaster(没有强迫症童鞋的可以到此为止哈,一下操作为改主分支为master)
repo 和 本地 都删除master
git push self master:master (创建新的远程master)
repo 和 本地 都删除newMaster git branch -d newMaster ()
以上是本人血的教训(周六加班,没过好~),欢迎大家学习指教,愿上帝祝福大家!
本文出自 “物联网” 博客,请务必保留此出处http://wulianwang.blog.51cto.com/3351843/1592772
原文地址:http://wulianwang.blog.51cto.com/3351843/1592772