git何如修复合并时被误删除的代码

合并时冲突,移除别人的代码后提交,服务器中最新版本是移除代码的版本,后续也无法将之前的代码通过合并的方式找回(因为移除的操作比提交晚)

1.立即叫停所有git提交

此时git版本库已经错误,在修复之前更多的提交会带来更多的修复难度。

2.找到发生错误的节点,和发生错误后的最后一个提交节点

标记这两个节点,最好打上标记,回退到发生错误的版本后,会看不到发生错误后的分支节点。

2.1如何找到发生错误的节点?

下图展示了红色分支合并到橙色分支的过程,合并后被选中的橙色节点,应包含整条红色分支的内容,下列记录中只有3处修改,可以判定发生了合并时误操作移除了红色分支上的改动。
在这里插入图片描述

3 强制回退到错误发生前的节点

使用 git reset --hard [hash] 命令,将本地分支回退到发生错误前的节点。
使用 git push origin HEAD --force 命令,将本地分支(发生错误前)推送至远端。

4 分支修复

4.1 将错误节点时间线之前,还没有合并至主分支的分支,重新合并

4.2 将错误节点时间线,已经合并至主分支的节点,按顺序重新修改并提交。

可以配合使用命令 git reset --soft HEAD^ 和贮藏,来临时储存出错后分支上的修改。

5 全员回退版本

如果有未完成未提交的工作,使用贮藏功能或手动临时保存,之后所有使用git的人使用 git reset --hard [hash] 命令,将本地分支回退到出错前,然后重新拉取即可。
如果有人未退回,并再次提交的话,错误分支会再次推送至最新远端,需要再次回退远端版本,但不需要再次修复分支

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值