阅读 52

git更新本地代码,git 命令详解

git revert中别人的代码怎么办? 我想大家在工作中使用过git作为版本控制工具。 多人共同工作的模式下,不知不觉就会因为喝多了、困了、工作困扰等原因,做出奇怪的操作。 例如我两天前发生了git revert引起的惨案,幸好解决了。 在以前的工作中,我也遇到过git revert带来的问题,所以根据不能在同一个地方多次跌倒的原则,我记录在这里。 否则,迟早会死在这个东西的手上。

背景说明先讲前几天发生在我身上的故事。 如果在团队内工作,大家都负责同一个项目,就一定会分头行动。 因此,主干分支release、预发布分支pre_release (可以理解为流量较少的灰度分支,在下一次发布时合并为release )、测试分支test、大家

当时的场景是这样的:

我的开发分支是dev1。 在联机之前同步了预发行的代码。 我试图将分支提交给test进行测试,但由于我的错误,我将我的代码合并到了release中。 单击merge按钮后(和意识到情况不对,单击还原按钮。 执行了(实际上是revert )操作。 你觉得没问题吗? 当你觉得没有问题的时候,问题发生了。 因为已经集成了前版本,所以我的merge操作已经将其他同事开发的集成到前版本的代码集成到了release中,所以revert集成到的他们发现第二天的功能没有全部在线,必须进行revert操作时有问题,如何进行代码的恢复?

怎么操作? 方法一、revertrelease的头指针,并强制推送。 首先,在git log中确认reset之前的commitId,然后在git reset [ commit id ] git push-foriginrelease中确认代码为之前的http://www.Sina.com 的版本。其他人可能会丢失对release的提交,需要重新提交。但是,由于预发行分支的存在,很少有人直接提交到release分支,因此也不需要重新提交由于reset操作是暴力的,因此在推送之前,请拉动clean的release分支,以防止代码恢复到merge错误。

方法二.将未merge操作生成的merge request再次设为reset,删除自己的代码找到刚才revert的提交记录,再次用revert查看自己的代码将前版本合并到版本时,您会看到没有dev的代码。 删除dev中的代码将生成提交记录。 之后返回在线时,必须在git pull中释放,然后再次粘贴删除的代码。 重新测试在线这种方式很费时间,需要多次逐文件粘贴代码。 此外,前版本上的代码已预先合并到版本中。

在任何场景中,如果权限足够,操作使用建议简洁快捷,不需要更改代码。

如果必须使用方法2,比较简单的做法是

通过dev代码测试后,首先将dev的代码在线连接到前版本并观察到没有问题,然后转至revert以前的revert。 没有必要像这样进行代码的粘贴操作。 前提是100%掌握自己的代码不会在后面引起错误。

最后,我想说的是,是否可以不使用git revert而使用git revert。 否则,虽然知道以上两种方法如何操作,但不知道是正确操作,还是引入误操作后的额外误操作。 时间就是生命。 不能浪费在修复问题上。


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐