Git x SVN rebase事故

@author ixenos 2019-01-09 14:21:21

前言:

  昨天在Git x SVN 中进行git svn dcommit的时候,提示需要再进行11次git rebase。

  而我当时的分支情况是这样的:

    在合并之前,master先git svn rebase获取到远程分支的最新修改,然后,切换到feature-A分支;

    feature-A分支merge master分支,解决冲突后合并;

    然后再切回master分支,将feature-A分支合并到master中;

    最后执行git svn dcommit提交。

  以上的工作流程在纯git环境中很常见,但是就在我dcommit后,提示我需要再进行11次git rebase,当时我也没多想,惯性地认为git rebase已在上一次merge中完成,就一路git rebase --skip下去。。。

  然后测试部分也遗漏了(因为feature-A之前已经经过功能性测试)

  最后在临上线前发现功能版本不对,查看SVN记录,发现commit被覆盖了,而此时只存在本地的feature-A已被git branch -D删除。

解决方案:

  1.git reflog 查找最近一条feature-A的记录,获取其commit id

  2.git branch <branch_name> <hash_val> 根据commit id恢复对应分支

  3.重新进行合并操作

  4.11次rebase仔细进行

  5.测试

最新文章

  1. android安卓Sqlite数据库实现用户登录注册
  2. iOS10配置说明
  3. MMORPG大型游戏设计与开发(part4 of net)
  4. git 删除和重命名文件
  5. Eclipse配置PyDev插件来实现python开发环境
  6. Web前端开发基础 第一天(Html和CSS)
  7. [算法]检测空间三角形相交算法(Devillers &amp; Guigue算法)
  8. WebApi:自定义筛选器
  9. [Java] 内部类总结
  10. CentOS(四)--Linux系统的启动级别
  11. C++程序的构成和书写形式
  12. parent.location.href和location.href区别
  13. 9.5 在 C# 中使用 F# 库
  14. C++ Primer 学习笔记_2_高速入口(继续)
  15. mongodb学习一
  16. 走近webpack(4)--css相关拓展
  17. 【bzoj3173-最长上升子序列-一题两解】
  18. upload.go
  19. Scrum Meeting 合集
  20. linux shell中 if else for循环以及大于、小于、等于逻辑表达式的历程

热门文章

  1. Spring源码:Spring IoC容器加载过程(2)
  2. Django2.0路由补充之path,re_path及视图层
  3. link标签的media属性的用法
  4. list control 【转】
  5. 【数据库-Azure SQL Database】SQL Server 如何将数据库备份到 Azure Storage
  6. threadLocal遇上线程池导致局部变量变化
  7. HDU 4274 Spy&#39;s Work (树形DP,模拟)
  8. 前端知识点总结——HTML
  9. 如何用node命令和webpack命令传递参数
  10. CPP-基础:内存泄露及其检测工具