git被强制覆盖提交以后

一个项目多人开发很正常,一个项目异地开发也正常,但是要是其中一个哥么一个月不更新代码,而这个项目又是二次开发,那么可以想想一次提交将会是多么的苦逼,但是这个是对于那个一个月不更新的哥么来说的。但是如果commit之后 push失败了,没有按照提示进行merge而后提交。却从网上搜索一段强制提交的命令行,直接本地上传覆盖了,那么苦逼的是谁呢,可想而知。所以每天更新本地的代码减少不必要的麻烦,每天提交代码,减少代码丢失可能性的同时也是为了其他队友明天来了有个好心情。不巧的是就这么发生了,一个月没提交代码,直接强制覆盖推送远端仓库,这大周末的就这么在家merge代码,惨不忍睹。接下来看看解决方案吧。

首先将损失降到最低,取最近一次比较完整的commit内容:

[shell]
git reflog //查看commit记录
git reset –hard commit—id //恢复到上一次的提交内容
//手动合并一下代码吧,因为提交的哥么代码比较集中,所以采用这种方式
git add -A //确保没有问题了提交到缓存
git commit -m ‘注释’ //提交到快照
git push origin xxxx //提交到远端仓库[/shell]

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据