小组成员用 git pull 代码竟然不一样?

2017-11-14 16:10:19 +08:00
 ihuzhou

rt

文件里有一个常用文件,2-3 年一直持续更新。神奇的是,小组里面只有 2 个人存在这块代码,其他人不管更新还是重新拉代码都出不来。后来让存在这块代码的小伙伴重新拉一个完整的包,也没有相应代码。

然后我重写并且提交了这块代码,结果所有人都可以看见了,也可以更新,与存在这块代码的两个包也不冲突,完美合并了。

那么问题在哪里呢?

假如这个代码是 A 写的,B 更新了看到,C D E 更新没看到。

既然 B 更新到了,说明这个文件已经在远端的 repo 里了。查看这个文件的改动,从创建之初这段代码一直存在。其他人没有更新到很是奇怪。于是我重新提交那块代码,不和远端的文件冲突,所有人都能完美合并。存在这块代码的小伙伴显示那块区域为更新,旧代码不见了。

Q:1.为啥拉下来的代码不一样? 2.为啥能完美合并呢?

2071 次点击
所在节点    问与答
8 条回复
qinxi
2017-11-14 16:12:22 +08:00
分支
niguyi
2017-11-14 16:14:06 +08:00
分支 合并 变基
ihuzhou
2017-11-14 16:16:16 +08:00
@qinxi @niguyi 就一个 master 分支啊。
Lax
2017-11-14 16:34:03 +08:00
对比这两个人的 HEAD 的 commit id 看看
xqin
2017-11-14 16:39:52 +08:00
不是同一个仓库吧.
哈哈哈哈
cst4you
2017-11-14 20:35:12 +08:00
pull 过程是和本地 merge, 如果两个人本地的有差异, 那 merge 的结果也肯定不一样啊
momocraft
2017-11-14 20:42:02 +08:00
和一个论坛网友相比,我比较相信 git 没出错
ryd994
2017-11-14 20:47:05 +08:00
因为 pull 是 fetch+merge
所以也有一派 fetch+rebase 的
如果习惯 pull 的话,也可以在 pull 之前 stash
不过你不用担心,最后 commit 上去必须是一致的,除非 push -f

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

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

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

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

© 2021 V2EX