求教各位大佬,关于 git 的代码合并冲突问题,有点懵

2023-09-27 18:12:33 +08:00
 chaniqure
我们使用 vue 开发的一个前端项目,有个 dist 的打包目录,项目的 git 包含的这个目录,先不用去管为什么要提交这个 dist 目录。

现在有 a 、b 两个开发人员,a 修改了 1.vue 文件,b 修改了 2.vue 文件,现在 b 编译了项目,生成了新的 dist 目录,进行 git 的 push 操作,成功提交到 gitlab 服务器。现在 a 也进行编译操作,进行 push ,就提示需要更新代码,然后 a 进行 pull ,这时候 dist 目录出现了冲突。

a 的解决冲突的操作,使用 idea 自带的 rollback ,还原了代码,再删除了 dist 目录,进行 commit ,然后从远程 git 服务器 pull 代码,最后 push 。但是这时候,b 修改的 2.vue 的记录就丢失了,这是什么原因? git 日志里面都找不到 a 修改 2.vue 文件的日志,2.vue 文件还是 b 提交之前的代码,b 这次提交的记录全部就丢失了。
1896 次点击
所在节点    git
24 条回复
chaniqure
2023-09-28 14:08:03 +08:00
@realJamespond 哈哈,是该这样,就当我当时误操作吧。
oxromantic
2023-09-28 14:42:23 +08:00
a 应该被警告并通报案例,如果 a 是 OP 本人就死咬 b 没提交
chaniqure
2023-09-28 14:58:22 +08:00
@oxromantic 过分了,哈哈,a 就是我本人啦。而且团队就我们两个后台开发,不是讨论责任问题,还原代码也就十来分钟,主要是讨论 git 和解决方案
oxromantic
2023-09-28 16:32:43 +08:00
解决方案很简单,锁定主分支,所有提交走 PR ,两人都同意再 merge

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/977678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX