背景
一般公司里开发某个系统都是多人协作开发,使用Git作为代码版本管理工具,那你可能或者肯定会遇到其他人错提代码到线上,回退之后其他人再去pull的时候,代码并不会改变,本以为已经更新了,后续再次提交的时候,线上的代码又被“污染”了,然后再次回滚,其他人依然没有pull到新代码,然后往复循环,最后搞得大家都很疲惫。
场景重现
准备
重现很简答,随意在远程git创建一个仓库,我在gitee创建一个测试库,然后本地创建两个目录模拟两个人在同时开发,一个student1,一个是student2,然后分别在两个文件夹下clone仓库,如图

然后我们对student1中的update.txt文件每增加一行,就commit和push一次,模拟代码提交了四次,如图

然后将student2下的代码pull一下,保持跟远程的一样

重现
现在突然发现student1下的代码提交错了,代码需要回滚到第二次提交的地方,这里有两种方法,可以用Reset也可以用Revert来回滚,简答的来说用Reset会把第三次和第四次提交的记录直接删掉,如果用Revert他会生成第五次提交,即把第二次提交的记录重新提交一次变成第五次提交,这里主要说Reset

当使用Git进行多人协作时,如果某人错误提交并回滚代码,其他人可能无法正确同步。本文通过场景重现,解释了在Git Reset回滚后,其他人如何通过特定命令使本地代码与远程保持一致,避免代码冲突和重复回滚的问题。
最低0.47元/天 解锁文章
3090





